SSH的三种端口转发
1、本地转发
本地转发,顾名思义就是把本地主机端口转发到远程主机端口。
ssh -L 本地主机端口:远程主机:远程主机端口
举例:ssh -L 50000:www.google.com:80 user@host
当成功执行上面的命令之后,访问本地的50000端口,就等同于访问 www.google.com 的 80 端口。
这次是通过ssh主机来安全转发数据的,没有人知道你和远程主机之间传输了何种数据。
现在就算你能访问 www.google.com,你却依然不能其它主机,比如www.youtobe.com。
想要更全面的端口转发功能,还需动态转发。
2、远程转发
设想你在本机开发了一个web应用,想拿给别人看看,但现在你却处在内网,怎么办?
远程转发,顾名思义就是把远程主机端口转发到本地主机端口。
ssh -R 登录主机端口:远程主机:远程主机端口
举例:ssh -R 8080:localhost:80 user@host
当成功执行上面的命令之后,访问ssh主机的 8080 端口就相当于访问 localhost:80
3、动态转发
动态转发无需指定远程主机及其端口
这个端口号需要在本地通过协议指定,该协议就是简单、安全、实用的 SOCKS 协议。
ssh -D 本地主机:本地主机端口
举例:ssh -D 127.0.0.1:50000 user@host
通过协议协商后,告诉你要访问的远程主机及端口,然后你与远程主机之间的数据就通过ssh主机传输了。
最常见的用途:在浏览器中设置代理类型为 SOCKS5,主机及端口:127.0.0.1:50000。
4、微信公众号调试
外网环境:
112.x.x.x 主机有固定ip和域名
内网环境
192.168.1.251
内网访问微信服务器,需要在251执行
ssh -D 0.0.0.0:1085 -l root 112.x.x.x -p xx -Nf -o ServerAliveInterval=60
http设置socks代理
public HttpClientExecuteWithSocks() { Registry<ConnectionSocketFactory> reg = RegistryBuilder.<ConnectionSocketFactory>create()
.register("http", PlainConnectionSocketFactory.INSTANCE)
.register("https", new CustomConnectionSocketFactory(SSLContexts.createSystemDefault()))
.build(); PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(reg);
this.httpclient = HttpClients.custom()
.setConnectionManager(cm)
.build(); InetSocketAddress socksaddr = new InetSocketAddress("192.168.1.251", 1085);
this.httpClientContext = HttpClientContext.create();
this.httpClientContext.setAttribute("socks.address", socksaddr);
}
SSH的三种端口转发的更多相关文章
- SSH高级应用(端口转发)
转发自:http://www.cnblogs.com/sting2me/p/5167730.html 基于SSH协议的端口转发 [前言] 最近一直在使用ssh协议的端口转发(隧道)功能,完成对内网空透 ...
- Linux SSH隧道技术(端口转发,socket代理)
动态转发(SOCKS5代理): 命令格式:ssh -D <local port> <SSH Server> ssh -fnND 0.0.0.0:20058 172.16.50. ...
- Access、Trunk和Hybrid三种端口模式
网络交换机(英语:Network switch)是一个扩大网络的器材,能为子网中提供更多的连接端口,以便连接更多的电脑. 通俗来说其起到的作用就是把一个网络端口分成多个网络端口 交换机和路由器的区别 ...
- 交换机三种端口模式Access、Hybrid和Trunk
以太网端口有 3种链路类型:access.trunk.hybird 什么是链路类型? vlan的链路类型可以分为接入链路和干道链路. 1.接入链路(access link)指的交换机到用户设备的链路, ...
- SSH远程登录和端口转发详解
SSH远程登录和端口转发详解 介绍 SSH 是创建在应用层和传输层基础上的安全协议,为计算机上的 Shell(壳层)提供安全的传输和使用环境. SSH 只是协议,有多种实现方式,本文基于其开源实 ...
- [转帖]SSH 的 三种代理功能.
https://www.zhihu.com/people/skywind3000/activities 之前用过frp 知道 ssh 有一 反向代理的功能 没想到 还有这么多高级功能 收藏一下. ss ...
- ssh tunnel 三种模式
环境介绍: 主机 位置 公网 内网IP 角色 host-a 局域网1 否 192.168.0.1 ssh client host-b 局域网2.公网 是 192.168.1.1 ssh server ...
- 用SSH解决大局域网反向端口转发问题
本文作者Tony Lee,转载自FreeBuf.COM 自从家里换了联通光纤后,联通就在我家宽带出口前搭了一个路由器,我家也彻底沦为192.168.1.0/24段的局域网了,带来的问题就是在外网无 ...
- 【转】实战 SSH 端口转发
本文转自:http://www.ibm.com/developerworks/cn/linux/l-cn-sshforward/index.html,至于有什么用,懂的懂! 实战 SSH 端口转发 通 ...
随机推荐
- 关于Unity中ARPG游戏人物移动(专题十一)
ARPG:动作型角色扮演类游戏 大多数的ARPG游戏都是使用摇杆操作,以第三人称摄像机的方式来跟随主角,实际上人物只走八个方向,上,下,左,右,左上,左下,右下,右上 控制角色移动的思路1: 在ARP ...
- 【Oracle】ORA 01810 格式代码出现两次-转
一.Oracle中使用to_date()时格式化日期需要注意格式码 如:select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mm:ss') fr ...
- linux swoole
swoole安装需要:linux7 +php5.3.10以上版本+gcc-4.4 或更高版本 下载地址: https://github.com/swoole/swoole-src/releases h ...
- [PGM] Variable elimination and Belief propagation
内容范围如题.Lec 08-11的内容:https://www.youtube.com/watch?v=Qa04kw1gKHk&index=36&list=PLQiVpyxVlLkbp ...
- SpringBoot------全局异常捕获和自定义异常
1.添加Maven依赖 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://w ...
- LostRoutes项目日志——敌人精灵Enemy解析
Enemy类在Enemy.js中,类Enemy类继承自PhysicsSprite,以便于可以使用物理引擎中的一些特性. 原版的Enemy.js: var Enemy = cc.PhysicsSprit ...
- error: style attribute '@android:attr/windowEnterAnimation' not found.
在Project/gradle.properties中添加 android.enableAapt2=false
- 解决UEFI启动模式下无法使用U盘启动WIN7安装界面
问题场景 现在很多人都习惯使用U盘进行安装系统,主要是快捷方便.本文主要是讲解一下U盘在UEFI模式下无法启动Windows7安装界面的问题,可能很多人会说使用PE系统进行安装,但是因为我的主板只有独 ...
- spark - Locality Level
这几个值在图中代表 task 的计算节点和 task 的输入数据的节点位置关系 PROCESS_LOCAL: 数据在同一个 JVM 中,即同一个 executor 上.这是最佳数据 locality. ...
- DB2的进程/线程解析(转)
今天看到一个名词,数据库实例用户和实例隔离用户,那么什么是实例隔离用户呢,于是搜索以下,就涉及到了进程. 援引DB2中国上面的回答: 要理解DB2的fenced user, 需要先理解db2的fe ...