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的三种端口转发的更多相关文章

  1. SSH高级应用(端口转发)

    转发自:http://www.cnblogs.com/sting2me/p/5167730.html 基于SSH协议的端口转发 [前言] 最近一直在使用ssh协议的端口转发(隧道)功能,完成对内网空透 ...

  2. Linux SSH隧道技术(端口转发,socket代理)

    动态转发(SOCKS5代理): 命令格式:ssh -D <local port> <SSH Server> ssh -fnND 0.0.0.0:20058 172.16.50. ...

  3. Access、Trunk和Hybrid三种端口模式

    网络交换机(英语:Network switch)是一个扩大网络的器材,能为子网中提供更多的连接端口,以便连接更多的电脑. 通俗来说其起到的作用就是把一个网络端口分成多个网络端口 交换机和路由器的区别 ...

  4. 交换机三种端口模式Access、Hybrid和Trunk

    以太网端口有 3种链路类型:access.trunk.hybird 什么是链路类型? vlan的链路类型可以分为接入链路和干道链路. 1.接入链路(access link)指的交换机到用户设备的链路, ...

  5. SSH远程登录和端口转发详解

     SSH远程登录和端口转发详解   介绍 SSH 是创建在应用层和传输层基础上的安全协议,为计算机上的 Shell(壳层)提供安全的传输和使用环境. SSH 只是协议,有多种实现方式,本文基于其开源实 ...

  6. [转帖]SSH 的 三种代理功能.

    https://www.zhihu.com/people/skywind3000/activities 之前用过frp 知道 ssh 有一 反向代理的功能 没想到 还有这么多高级功能 收藏一下. ss ...

  7. ssh tunnel 三种模式

    环境介绍: 主机 位置 公网 内网IP 角色 host-a 局域网1 否 192.168.0.1 ssh client host-b 局域网2.公网 是 192.168.1.1 ssh server ...

  8. 用SSH解决大局域网反向端口转发问题

    本文作者Tony Lee,转载自FreeBuf.COM ​​自从家里换了联通光纤后,联通就在我家宽带出口前搭了一个路由器,我家也彻底沦为192.168.1.0/24段的局域网了,带来的问题就是在外网无 ...

  9. 【转】实战 SSH 端口转发

    本文转自:http://www.ibm.com/developerworks/cn/linux/l-cn-sshforward/index.html,至于有什么用,懂的懂! 实战 SSH 端口转发 通 ...

随机推荐

  1. 关于Unity中ARPG游戏人物移动(专题十一)

    ARPG:动作型角色扮演类游戏 大多数的ARPG游戏都是使用摇杆操作,以第三人称摄像机的方式来跟随主角,实际上人物只走八个方向,上,下,左,右,左上,左下,右下,右上 控制角色移动的思路1: 在ARP ...

  2. 【Oracle】ORA 01810 格式代码出现两次-转

    一.Oracle中使用to_date()时格式化日期需要注意格式码 如:select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mm:ss') fr ...

  3. linux swoole

    swoole安装需要:linux7 +php5.3.10以上版本+gcc-4.4 或更高版本 下载地址: https://github.com/swoole/swoole-src/releases h ...

  4. [PGM] Variable elimination and Belief propagation

    内容范围如题.Lec 08-11的内容:https://www.youtube.com/watch?v=Qa04kw1gKHk&index=36&list=PLQiVpyxVlLkbp ...

  5. SpringBoot------全局异常捕获和自定义异常

    1.添加Maven依赖 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://w ...

  6. LostRoutes项目日志——敌人精灵Enemy解析

    Enemy类在Enemy.js中,类Enemy类继承自PhysicsSprite,以便于可以使用物理引擎中的一些特性. 原版的Enemy.js: var Enemy = cc.PhysicsSprit ...

  7. error: style attribute '@android:attr/windowEnterAnimation' not found.

    在Project/gradle.properties中添加 android.enableAapt2=false

  8. 解决UEFI启动模式下无法使用U盘启动WIN7安装界面

    问题场景 现在很多人都习惯使用U盘进行安装系统,主要是快捷方便.本文主要是讲解一下U盘在UEFI模式下无法启动Windows7安装界面的问题,可能很多人会说使用PE系统进行安装,但是因为我的主板只有独 ...

  9. spark - Locality Level

    这几个值在图中代表 task 的计算节点和 task 的输入数据的节点位置关系 PROCESS_LOCAL: 数据在同一个 JVM 中,即同一个 executor 上.这是最佳数据 locality. ...

  10. DB2的进程/线程解析(转)

    今天看到一个名词,数据库实例用户和实例隔离用户,那么什么是实例隔离用户呢,于是搜索以下,就涉及到了进程. 援引DB2中国上面的回答:   要理解DB2的fenced user, 需要先理解db2的fe ...