NSmartProxy是一款免费的内网穿透工具。
NSmartProxy包含两个服务程序:
NSmartProxy支持各种基于TCP和UDP服务的端口映射,下面以mstsc,iis,ftp以及mosh服务为例:
NSmartProxy的客户端被打包成三种发布方式:第一种是跨平台包,需要预先安装.NET Core环境。 第二种是SCD包(包名带”scd”),无需安装.net环境,用户需要根据自己的平台和架构选择相应的压缩包。第三种是Windows窗体版本(包名带”winform”):
下载最新版本的NSmartProxyClient,以SCD发布下的linux x64系统为例:
wget https://github.com/tmoonlight/NSmartProxy/releases/download/v1.2_final/nspclient_scd_linux_v1.2.zip
下载最新版本的NSmartProxyClient:
wget https://github.com/tmoonlight/NSmartProxy/releases/download/v1.2_final/nspclient_scd_osx_v1.2.zip
如果当前机器上已经有了docker运行环境,则无需安装运行时,直接拉取镜像即可运行,如下脚本在Docker CE 17.09下测试通过:
sudo docker pull tmoonlight/nspclient
sudo docker run --name mynspclient -dit tmoonlight/nspclient
1234567891011121314151617181920212223242526272829 | { "ProviderWebPort": 12309, //服务器端口 "ProviderAddress": "2017studio.imwork.net", //服务器地址 //反向代理客户端列表 "Clients": [ {//mstsc远程控制服务 "IP": "127.0.0.1", //反向代理机器的ip "TargetServicePort": "3389" //反向代理服务的端口 "ConsumerPort":"3389" //外网访问端口,如被占用,则会从20000开始按顺序分配端口 }, {//网站服务 "IP": "127.0.0.1", "TargetServicePort": "80" }, {//ftp服务 "IP": "127.0.0.1", "TargetServicePort": "21", "IsCompress" : true, //表示启动传输压缩 "Description": "这是一个ftp协议。" //描述字段,方便用户在服务端界面识别 }, {//mosh服务 "IP": "192.168.0.168", //安装mosh服务的受控端地址 "TargetServicePort": "60002", "ConsumerPort": "30002", "Protocol": "UDP" //表示是一个UDP协议,如果不加以配置,则以TCP协议来转发 } ]} |
---|
1234 | sudo unzip nspclient_scd_linux_v1.2.zipcd nspclient_scd_linux_v1.2chmod +x ./NSmartProxyClient./NSmartProxyClient |
---|
1234 | sudo unzip nspclient_osx_linux_v1.2.zipcd nspclient_scd_osx_v1.2chmod +x ./NSmartProxyClient./NSmartProxyClient |
---|
您还可以将NSmartProxy客户端注册为一个后台服务,方法如下:
1234 | #rem 注册客户端windows服务.\NSmartProxyClient action:install#rem 卸载客户端windows服务.\NSmartProxyClient action:uninstall |
---|
以上是客户端的配置方法,一般情况下,只要用我的免费服务(2017studio.imwork.net)即可进行内网映射了,如果你还想自己搭建服务端,请接着往下看。
这里介绍NSmartProxy服务端的安装方法(linux,windows,MacOS均适用)
首先你需要一台具备独立IP的服务器,以下安装过程均在此机器上执行:
wget https://github.com/tmoonlight/NSmartProxy/releases/download/v1.2_final/nspserver_scd_linux_v1.2.zip
下载发布包
wget https://github.com/tmoonlight/NSmartProxy/releases/download/v1.2_final/nspserver_scd_osx_v1.2.zip
无需安装运行时,直接拉取镜像即可运行,运行镜像时需要4组端口:配置端口,反向连接端口,API服务端口,以及使用端口,如下脚本在Docker CE 17.09下测试通过:
12 | sudo docker pull tmoonlight/nspserversudo docker run --name mynspserver -dit -p 7842:7842 -p 7841:7841 -p 12309:12309 -p 20000-20050 tmoonlight/nspserver |
---|
12 | unzip nspserver_scd_linux_v1.2.zipcd nspserver_scd_linux_v1.2 |
---|
12345 | { "ReversePort": 7842, //反向连接端口 "ConfigPort": 7841, //配置服务端口 "WebAPIPort": 12309 //API服务端口} |
---|
Linux/MacOS:
12 | chomod +x ./NSmartProxy.ServerHost./NSmartProxy.ServerHost |
---|
Windows: 点击 Win+R 打开运行窗口. 输入 “cmd” 按下Ctrl+Shift+Enter打开管理员身份运行的命令行窗口。cd到安装目录,运行如下指令:
NSmartProxy.ServerHost
NSmartProxy客户端和服务端均可以注册为一个后台服务,方法如下:
1234 | #rem 注册服务端windows服务.\NSmartProxy.ServerHost action:install#rem 卸载服务端windows服务.\NSmartProxy.ServerHost action:uninstall |
---|
以上已经讲述了将内网的服务映射到外网的方法,还有更多有趣的用法等着你发掘: