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 端口转发 通 ...
随机推荐
- CLOS网络架构与FATTREE胖树拓扑
FatTree拓扑结构是由MIT的Fares等人在改进传统树形结构性能的基础上提出的,属于switch-only型拓扑. 整个拓扑网络分为三个层次:自上而下分别为边缘层(edge).汇聚层(aggre ...
- Java之CountDownLatch使用
CountDownLatch,一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待. 主要方法 public CountDownLatch(int count); pu ...
- 二、主流区块链技术特点及Hyperledger Fabric V0.6版本特点
一.主流区块链技术特点 二.HyperLedger子项目 三.Hyperledger fabric架构 V0.6逻辑架构: V0.6区块链网络 对应的0.6版本的运行时架构: 0.6版本的架构特点是: ...
- input 手机号
关于input手机号的验证 一.手机号的判断方法: function isPhoneTel(n){ var reg = /^1[3|4|5|8]\d{9}$/; if(!!(reg.test(n))) ...
- 这才是真正的裸眼3D!超级震撼!!
大家有没认为有意思啦,反正俺是被震撼到了. 好奇异-- ! " src="http://www.yixieshi.com/uploads/allimg/141116/1446431 ...
- C++定义字符数组
问:C++中定义字符型数组时'\0'是不是也占一位?是不是定义char a[5],只能有4个字符?那计算字符长度时又否忽略'\0'? 答: C++中定义字符型数组时'\0'是不是也占一位?是不是定义c ...
- Go学习笔记(二)搭建Visual Studio Code调试环境
上一篇 Go学习笔记(一)安装Go语言环境 安装Visual Studio Code 这是目前我觉得最好用的文本编辑器了, https://code.visualstudio.com/ 中间有几部确认 ...
- 关于web标准的一些想法
关于web标准的一些想法 页面结构,表现,行为的关系.应该是各自分离又紧密联系的关系.从代码上分离出来.各自完成各自的功能,方便以后维护.紧密联系是指他们是相互依赖的.结构是核心,虽然从理论上讲不管什 ...
- js---手机端滑动进度条
最近做项目,有一个滑动音乐播放进度条的效果,但是使用input的 range 来做会出现一些问题,想了想还是用JS来写.直接上代码: <!doctype html> <html la ...
- python如何去掉字符串‘\xa0’
发现问题: 最近在用爬虫爬取网页信息时,在网页源码中遇到了“ "字符串,经查阅,发现该字符是不间断空格符.我们通常所用的空格是 \x20 ,是在标准ASCII可见字符 0x2 ...