20
2019
03

内网穿透,端口转发,端口映射工具(NATBypass)

内网穿透,端口转发,端口映射工具(NATBypass)

内网映射

下载:nb-windows-amd64-32.rar

NATBypass是一个golang实现的类lcx转发工具,较lcx最直接的效果是360未报毒。golang是编译型语言我们下载编译好的版本可以不需要安装go。

下载地址:https://github.com/cw1997/NATBypass/releases


1、端口转发/端口映射命令:

nb-windows-amd64.exe -tran 9999 192.168.220.143:22

程序   本地端口      外网IP:外网端口

2、内网穿透

服务器端设置

nb-windows-amd64.exe -listen 1997 2017

程序      内网连接端口    输出端口

内网客户端设置

nb-windows-amd64.exe -slave 127.0.0.1:3389 123.123.123.123:1997

程序 内网本地端口3389 远程服务器IP:端口

本地端口3389,通过连接服务端1997,外网访问2017连接

自动启动设置

新建.bat

start "" "nb-windows-amd64.exe" -tran 1997 192.168.1.10 3389

一款lcx(htran)在golang下的实现

通过主动连接具有公网IP的电脑打通隧道可实现内网穿透,让内网主机提供的服务能够借助外网主机来访问。软件实现的端口转发,透明代理,在主机限制入站规则但未限制出站规则的特定情况下可绕过防火墙。

build

go build nb.go

如果未出现任何消息则表示编译成功。(Linux哲学:没有消息就是最好的消息)

执行之后Linux或Mac OS在当前目录执行./nb,Windows在当前目录执行nb.exe,如果出现欢迎信息则表示一切正常。

如果编译出现错误,请检查当前系统上的golang是否被破坏,建议重装后再尝试或者直接下载已经编译好的二进制文件,下载地址见后面。

如果运行出现错误,请检查您所输入的参数是否有错,或者相应的端口被占用,请更换端口重试。如果未看见欢迎消息,请给编译好的可执行文件设置权限为777。如果无法写日志,请检查当前用户是否有权限在日志文件路径的读写权限。

usage

语法

  • -listen port1 port2

说明

同时监听port1端口和port2端口,当两个客户端主动连接上这两个监听端口之后,nb负责这两个端口间的数据转发。

示例

nb -listen 1997 2017

语法

  • -tran port1 ip:port2

说明

本地开始监听port1端口,当port1端口上接收到来自客户端的主动连接之后,nb将主动连接ip:port2,并且负责port1端口和ip:port2之间的数据转发。

示例

nb -tran 1997 192.168.1.2:338

语法

  • -slave ip1:port1 ip2:port2

说明

本地开始主动连接ip1:port1主机和ip2:port2主机,当连接成功之后,nb负责这两个主机之间的数据转发。

示例

nb -slave 127.0.0.1:3389 8.8.8.8:1997

语法

  • log filedirpath

示例

nb -listen 1997 2017 -log D:/nb

nb -tran 1997 192.168.1.2:338 -log D:/nb

nb -slave 127.0.0.1:3389 8.8.8.8:1997 -log D:/nb

说明

-log为一个可选开关,其参数为日志文件所在目录。如果在前面任意一个必选开关的末尾加上该开关,那么所有转发数据将会被记录到D:/nb/Y_m_d_H_i_s-agrs1-args2-args3.log文件中,其中YmdHis以及args均会被替换为实际执行时的时间和参数。如果有特殊需求,可根据时间顺序,以及相关参数进行合并,以得到连续的转发数据日志记录。(由于转发数据可能并非文本文件,建议使用UltraEdit等支持二进制查看的编辑器打开)

警告:不要使用包含空格以及各种特殊字符的文件路径,比如说C:\Documents and Settings\Administrator\桌面\go\bin这个文件路径就是无效文件路径,因为其包含空格。

注意:由于日志流记录是即时的,建议将日志文件存储在机械硬盘分区中,而不要放在包括固态硬盘,U盘,SD卡等设备,防止大量小文件写入影响这些设备的寿命。

技巧:可使用Linux下的tail -f命令将转发数据实时显示出来。

example

假设有外网主机123.123.123.123:1997123.123.123.123:2017端口开放。

内网主机192.168.1.2:3389需要转发到外网。首先在外网主机执行

nb -listen 1997 2017

作用是开辟两个用于监听内网打隧道的连接端口和其他应用客户端连接的端口。

接着内网主机执行

nb -slave 127.0.0.1:3389 123.123.123.123:1997

作用是内网主机主动连接外网主机打通隧道。

然后其他客户端(例如本例子中的3389远程桌面客户端)连接123.123.123.123:2017,就等同于连接到了内网主机的192.168.1.2:3389上。

TODO

  • UDP协议的转发支持

本站声明:网站内容来源于网络,如有侵权,请联系我们https://www.qiquanji.com,我们将及时处理。

微信扫码关注

更新实时通知

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。