Skip to content
/ Venus Public

一个基于Python的TCP内网穿透工具,支持向公网投射内网应用(实验,建议尝试dev分支)

License

Notifications You must be signed in to change notification settings

mgsky1/Venus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 

Repository files navigation

Venus

Summary

一个基于Python的TCP内网穿透工具,可以向外网映射内网TCP应用,如http MySQL SSH RDP

Requirement

  • 一台带有公网IP的云主机
  • 服务器和客户端均装有Python3环境

Experience

进入PNAT-internal/src/main后运行以下代码:
外网服务器:

python Venus-s.py

内网客户端:

python Venus-c.py

Configuration

配置文件位于PNAT-internal/src/main中,采用JSON格式

服务器端 config-s.json

{
    "App01": { ->App01为应用程序名称,可以为SSH,WEB等等
        "commonPort": "7000",  -> 用于心跳检测以及激活内网通信管道的端口号
        "remotePort": "8000", -> 用于内外网应用程序数据交流的端口号
        "toPort":"9000" ->外部用户访问的端口号
    },
    "App02":{
        ...
    }
}

客户端 config-c.json

{
    "App01": { ->App01为应用程序名称,可以为SSH,WEB等等
        "commonPort": "7000", ->  用于心跳检测以及激活内网通信管道的端口号
        "remoteIP": "106.x.x.x", ->云主机IP地址
        "remotePort": "8000",-> 用于内外网应用程序数据交流的端口号
        "localIP": "127.0.0.1", ->本地IP
        "localPort": "80" ->本地应用程序端口号
    },
    "App02":{
        ...
    }
}

Note

  • 基于Python3,不依赖第三方库。
  • 由于这只是个人的实验,如有不妥之处,请多多包含。
  • 由于只是实验,日志输出做的不是特别好,请各位看官多多包含~
  • 不支持有随机端口特性的FTP

Screen Shots

服务器端运行截图(Ubuntu Server 16.04 LTS):
客户端运行截图(macOS Mojave 此图向公网映射MySQL)

WEB应用映射:
内网环境: 外网环境:

SSH:

内网环境:

外网环境:

Attention

请不要向公网投射内网中公司敏感资料

Contribution

欢迎Star or Fork,或者提交Pull Request,共同完善项目!

About

一个基于Python的TCP内网穿透工具,支持向公网投射内网应用(实验,建议尝试dev分支)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages