一个基于Python的TCP内网穿透工具,可以向外网映射内网TCP应用,如http MySQL SSH RDP
- 一台带有公网IP的云主机
- 服务器和客户端均装有Python3环境
进入PNAT-internal/src/main
后运行以下代码:
外网服务器:
python Venus-s.py
内网客户端:
python Venus-c.py
配置文件位于
PNAT-internal/src/main
中,采用JSON格式
{
"App01": { ->App01为应用程序名称,可以为SSH,WEB等等
"commonPort": "7000", -> 用于心跳检测以及激活内网通信管道的端口号
"remotePort": "8000", -> 用于内外网应用程序数据交流的端口号
"toPort":"9000" ->外部用户访问的端口号
},
"App02":{
...
}
}
{
"App01": { ->App01为应用程序名称,可以为SSH,WEB等等
"commonPort": "7000", -> 用于心跳检测以及激活内网通信管道的端口号
"remoteIP": "106.x.x.x", ->云主机IP地址
"remotePort": "8000",-> 用于内外网应用程序数据交流的端口号
"localIP": "127.0.0.1", ->本地IP
"localPort": "80" ->本地应用程序端口号
},
"App02":{
...
}
}
- 基于Python3,不依赖第三方库。
- 由于这只是个人的实验,如有不妥之处,请多多包含。
- 由于只是实验,日志输出做的不是特别好,请各位看官多多包含~
- 不支持有随机端口特性的FTP
服务器端运行截图(Ubuntu Server 16.04 LTS):
客户端运行截图(macOS Mojave 此图向公网映射MySQL)
SSH:
请不要向公网投射内网中公司敏感资料
欢迎Star or Fork,或者提交Pull Request,共同完善项目!