0x00First

  最近发现一些好用的端口转发工具和技巧,计划认真梳理一下

  SSH、NC、LCX、EW、FRP


0x01 SSH隧道端口转发

  目前利用SSH隧道(SSH tunneling)进行端口转发,有三种类型:本地端口转发、远程端口转发、动态端口转发。

1、本地端口转发

  在ip1的客户端执行如下命令:

  SSH -CfN -L 0.0.0.0:port1:ip2:port2 user3@ip3

  结果:访问ip1:port1等同于访问ip2:port2

  条件:ip1可以ssh访问ip3;

     ip3可以访问ip2的port2

1.5、本地转发与远程端口转发的异同

  同:都是通过访问ip1:port1来最终访问ip2:port2

    ip3是中间必经点,ip2只能通过ip3来发起访问

  异:前者是ip1扮演SSH Client,后者是ip3扮演SSH Client

    前者场景-公司里只有老板的ip3可以到看ip2上的片片,由于你加班表现优异,特奖励你的ip1可以ssh他的ip3,这样你在自己的工位上也能看ip2的片了。

    后者场景-老板把公司内网的考勤系统ip2,通过可以上网的ip3主动映射到互联网的服务器ip1上,便于出差在外/半夜在家的你加班。

2、远程端口转发

  在ip3的客户端执行如下命令:

  SSH -CfN -R port1:ip2:port2 user1@ip1

  结果:访问ip1:port1等同于访问ip2:port2

  条件:ip3可以ssh访问ip1;

     ip3可以访问ip2的port2

3、动态端口转发

  在ip1的客户端执行如下命令:

  SSH -CfN -D 8080 user3@ip3

  在ip1上将socks5代理服务器地址设置为ip1:8080

  结果:在ip1上可以访问ip3所有能访问的

    条件:ip1可以ssh访问ip3


0x02 NetCat NC端口转发


  目前windows版本的通用netcat没有见到可有进行端口转发的,Linux版的也只是能进行简单的端口转发。Linux端口转发是需要同mkfifo结合起来用的:

  在ip1上:

  mkfifo /tmp/backpipe

  cat /tmp/backpipe | nc ip2 8080 | nc -l 9090 > /tmp/backpipe

  结果:访问ip1的9090就是访问ip2的8080了

  条件:ip1可以访问ip2的8080

  

0x03 LCX 端口转发


  应该说LCX是比较经典的端口转发工具,先上一段官方说明:

   Usage of Packet Transmit:

    ./lcx -<listen|tran|slave> <option> [<-log|-hex|-text> file]
    ./lcx -about
 
  [options:]
    -listen <local port1>  <local port2>
    -tran   <local port>   <remote host>  <remote port>
    -slave  <remote host1> <remote port1> <remote host2> <remote port2>
 
    -hex   : hex mode data dump
    -text  : text mode data dump
    -log   : save transfer log
1、远程端口转发:
  在ip1上命令:lcx -listen  8080 9090
  在ip2上命令:lcx -slave ip1 8080 ip3 7070
  结果:访问ip1的9090就是访问ip3的7070
  条件:ip2可以访问ip1的8080和ip3的7070
 
2、本地端口转发:
  在ip2上的命令:lcx -tran 8080 ip3 7070
  结果:访问ip2的8080就是访问ip3的7070
  条件:ip2可以访问ip3的7070
 
 
 

0x04 EarthWorm EW 端口转发


  EarthWorm EW是一款跨平台的端口转发、Socks5代理工具,自带LCX功能,跨平台。(Earthworm 工具网址:http://rootkiter.com/EarthWorm)

  EW共有 6 种工作模式:ssocksd、rcsocks、rssocks、lcx_slave、lcx_listen、lcx_tran

1、正向SOCKS5 代理

  在ip1上命令:ew -s ssocksd -l 8080

  将ip2的socks5代理服务器设置为:ip1:8080

  结果:ip1能访问的端口,ip2都能访问

  条件:ip2能够访问ip1的8080

2、反弹SOCKS5 代理

  在ip1上命令:ew -s rcsocks -l 8080 -e 9090

  在ip2上命令:ew -s rssocks -d ip1 -e 9090

  将ip3的socks5代理服务器设置为:ip1:8080

  结果:ip2能访问的端口,ip3都能访问

  条件:ip2能够访问ip1的9090

     ip3能够访问ip1的8080

0x05 FRP 端口转发


  FRP  是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。(官方文档很详细,我都不想说了)


0xRef

1、《SSH/OpenSSH/PortForwarding 》https://help.ubuntu.com/community/SSH/OpenSSH/PortForwarding

2、《实战 SSH 端口转发》https://www.ibm.com/developerworks/cn/linux/l-cn-sshforward/

3、《端口转发》https://pan.baidu.com/s/1ystFF-a0nBSDvINpzf0OZw

4、《应用netcat实现端口转发》https://blog.csdn.net/freestyle4568world/article/details/54693306

5、《netcat的端口转发功能的实现》https://blog.csdn.net/whackw/article/details/46414069

6、《netcat的正确打开方式》 https://www.jianshu.com/p/827f5dc79bbe

7、《PuTTY/Putty建立隧道的方法》https://blog.csdn.net/lifan5/article/details/33709271

8、《三种不同类型的ssh隧道》http://hetaoo.iteye.com/blog/2299123

9、《SSH的端口转发:本地转发Local Forward和远程转发Remote Forward》https://blog.csdn.net/a351945755/article/details/21785647

10、《ssh端口映射总结》https://blog.csdn.net/boliang319/article/details/48656985

11、《端口转发工具lcx使用两类》https://www.cnblogs.com/lingerhk/p/4506308.html

12、《内网端口转发及穿透》http://www.zerokeeper.com/experience/network-port-forwarding-and-penetration.html

13、《内网穿透大杀器--EarthWorm》https://blog.csdn.net/nzjdsds/article/details/82025651

14、《FRP 中文说明文档》https://github.com/fatedier/frp/blob/master/README_zh.md


0xApp

1、SSH 命令详解

https://www.cnblogs.com/f-ck-need-u/archive/2017/07/05/7120669.html

2、25个常用的ssh命令

https://blog.csdn.net/u010027484/article/details/51774083

端口转发 Port Forwarding (一)的更多相关文章

  1. 路由器port触发与转发---Port Forwarding &amp; Port Triggering

    What is Port Triggering? If you have not read my explanation of port forwarding do so now. You can f ...

  2. iptables 通讯端口转接(Port Forwarding)

    是一种特殊的DNAT操作,其作用是让一部电脑(通常是防火牆)担任其它电脑的代理伺服器(proxy).防火牆接收外界网络接传给它自己的包,然后改写包的目的地位址或目的端口,使其像是要送到內部网路其它电脑 ...

  3. OpenSSH高级功能之端口转发(Port Forwarding)

    在RedHat提供的系统管理员指南中提到OpenSSH不止是一个安全shell,它还具有X11转发(X11 Forwarding)和端口转发(Port Forwarding)的功能.X11功能一般用于 ...

  4. SSH Tunnel扫盲(ssh port forwarding端口转发)

    SSH的的Port Forward,中文可以称为端口转发,是SSH的一项非常重要的功能.它可以建立一条安全的SSH通道,并把任意的TCP连接放到这条通道中.下面仔细就仔细讨论SSH的这种非常有用的功能 ...

  5. [转] SSH原理与运用(2):远程操作与端口转发

    英文:阮一峰 链接:http://www.ruanyifeng.com/blog/2011/12/ssh_port_forwarding.html 接着前一次的文章,继续介绍SSH的用法. (Imag ...

  6. virtualbox端口转发

    端口转发:setting->network->adapter:attached to NAT.port forwarding rules->name    protocol     ...

  7. vbox端口转发

    端口转发:setting->network->adapter:attached to NAT.port forwarding rules->name    protocol     ...

  8. 玩转SSH端口转发

    SSH有三种端口转发模式,本地端口转发(Local Port Forwarding),**远程端口转发(Local Port Forwarding)**以及**动态端口转发(Dynamic Port ...

  9. 005. [转] SSH端口转发

    玩转SSH端口转发 SSH有三种端口转发模式,本地端口转发(Local Port Forwarding),远程端口转发(Remote Port Forwarding)以及动态端口转发(Dynamic ...

随机推荐

  1. LINUX | 谷歌云开启SSH及设置root密码

    一.设置root密码 1.先选择从浏览器打开ssh连接服务器 2.切换到root账号 sudo -i 3.设置root密码 passwd 然后会要求输入新密码,然后再重复一次密码,输入密码的时候不会显 ...

  2. Python设计模式 - UML - 组合结构图(Composite Structure Diagram)

    简介 组合结构图用来显示组合结构或部分系统的内部构造,包括类.接口.包.组件.端口和连接器等元素,是UML2.0的新增图. 组合结构图侧重复合元素的方式展示系统内部结构,包括与其他系统的交互接口和通信 ...

  3. CentOS7更改运行级别

    Step 1:查看系统默认运行级别 [root@node-1 html]# systemctl get-default       //图形界面graphical.target [root@node- ...

  4. sqlserver2017 SSAS配置远程访问不成功的问题

    sqlserver2017 SSAS通过IIS配置远程访问一直访问不成功的解决办法: 出现这个问题的原因从微软给出的更新包中说的就是: 从 SQL Server 2017 开始,Analysis Se ...

  5. Spring+Quartz集群环境下定时调度的解决方案

    集群环境可能出现的问题 在上一篇博客我们介绍了如何在自己的项目中从无到有的添加了Quartz定时调度引擎,其实就是一个Quartz 和Spring的整合过程,很容易实现,但是我们现在企业中项目通常都是 ...

  6. swift 导入 .a 和 .h 文件

    一.新建桥接文件,这个很简单,就不介绍了.给个链接方法吧. 二.添加导入 .a 文件,在最后一步选择要导入的 .a 文件. 三.桥接文件里引用头文件,一般 .a 和 .h 文件都是在一个文件夹一起拖入 ...

  7. 转 Java操作PDF之iText详细入门

    转 Java操作PDF之iText详细入门 2016年08月08日 11:06:00 阅读数:19490 iText是著名的开放项目,是用于生成PDF文档的一个java类库.通过iText不仅可以生成 ...

  8. asp.net WebService如何去掉asmx后缀

    现在有一个发布好的WebService,地址是http://hovertree.com:2706/UploadExpenseToConstract.asmx能不能把最后面的asmx去掉呢?变成http ...

  9. 腾讯开源的 Paxos库 PhxPaxos 代码解读---Accept阶段(一)

    腾讯开源的 Paxos库 PhxPaxos 代码解读---Accept阶段(一) 在看Accept阶段代码之前, 我们再回想一下 Basic Paxos算法; 1.  Basic Paxos 算法是为 ...

  10. PM学习梳理--业务流程和流程图介绍