前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >推荐一款内网穿透的利器-NSmartProxy

推荐一款内网穿透的利器-NSmartProxy

作者头像
兜兜转转
发布2023-03-08 13:47:54
1.6K0
发布2023-03-08 13:47:54
举报
文章被收录于专栏:CodeTime

什么是NSmartProxy?

NSmartProxy是一款免费的内网穿透工具。

特点

  1. 跨平台,客户端和服务端均可运行在MacOS,Linux,Windows系统上;
  2. 使用方便,配置简单;
  3. 多端映射,一个NSmartProxy客户端可以同时映射多种服务。
  4. 支持TCP协议栈下的所有协议(已经经过测试的有FTP、Telnet、SMTP、HTTP/HTTPS、POP3、SMB、VNC、RDP。),以及相当一部分基于UDP的协议(已经经过测试的有DNS查询、mosh服务)。

运行原理

NSmartProxy包含两个服务程序:

  • 服务端(NSmartProxy.ServerHost):部署在外网,用来接收来自最终使用者和客户端的反向连接,并将它们进行相互转发。
  • 客户端(NSmartProxyClient):部署在内网,用来转发访问内网各种服务的请求以及响应。

客户端安装

NSmartProxy支持各种基于TCP和UDP服务的端口映射,下面以mstsc,iis,ftp以及mosh服务为例:

启动准备

NSmartProxy的客户端被打包成三种发布方式:第一种是跨平台包,需要预先安装.NET Core环境。 第二种是SCD包(包名带”scd”),无需安装.net环境,用户需要根据自己的平台和架构选择相应的压缩包。第三种是Windows窗体版本(包名带”winform”):

Windows
  1. 确保客户端的环境在.NET Framework 4.6.1 以上。
  2. 下载最新的窗体版本https://github.com/tmoonlight/NSmartProxy/releases/download/v1.2_final/nspclient_winform_v1.2.zip
Linux

下载最新版本的NSmartProxyClient,以SCD发布下的linux x64系统为例: wget https://github.com/tmoonlight/NSmartProxy/releases/download/v1.2_final/nspclient_scd_linux_v1.2.zip

MacOS

下载最新版本的NSmartProxyClient: wget https://github.com/tmoonlight/NSmartProxy/releases/download/v1.2_final/nspclient_scd_osx_v1.2.zip

Docker

如果当前机器上已经有了docker运行环境,则无需安装运行时,直接拉取镜像即可运行,如下脚本在Docker CE 17.09下测试通过: sudo docker pull tmoonlight/nspclient sudo docker run --name mynspclient -dit tmoonlight/nspclient

使用方法

1.打开安装目录下的appsettings.json文件,配置服务地址,映射地址和端口(winform版本也兼容这种配置方式,也可直接进入界面配置)

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协议来转发 } ]}

2.运行NSmartProxy客户端
Linux

1234

sudo unzip nspclient_scd_linux_v1.2.zipcd nspclient_scd_linux_v1.2chmod +x ./NSmartProxyClient./NSmartProxyClient

MacOS

1234

sudo unzip nspclient_osx_linux_v1.2.zipcd nspclient_scd_osx_v1.2chmod +x ./NSmartProxyClient./NSmartProxyClient

Windows: 解压后运行NSmartProxyWinform.exe即可
3.后台运行

您还可以将NSmartProxy客户端注册为一个后台服务,方法如下:

Windows
  • 方法一
  • 方法二

1234

#rem 注册客户端windows服务.\NSmartProxyClient action:install#rem 卸载客户端windows服务.\NSmartProxyClient action:uninstall

MacOS/Linux 暂略
P.S:

以上是客户端的配置方法,一般情况下,只要用我的免费服务(2017studio.imwork.net)即可进行内网映射了,如果你还想自己搭建服务端,请接着往下看。

服务端安装

这里介绍NSmartProxy服务端的安装方法(linux,windows,MacOS均适用)

启动准备

首先你需要一台具备独立IP的服务器,以下安装过程均在此机器上执行:

  1. NSmartProxy的服务端程序被打包成两种发布方式。第一种是跨平台包,需要预先安装.NET Core环境。第二种是SCD包(包名带”scd”),无需安装.net环境,用户需要根据自己的平台和架构选择相应的压缩包。
  2. 下载最新版的NSmartProxy服务端:
Linux

wget https://github.com/tmoonlight/NSmartProxy/releases/download/v1.2_final/nspserver_scd_linux_v1.2.zip

Windows

下载发布包

MacOS

wget https://github.com/tmoonlight/NSmartProxy/releases/download/v1.2_final/nspserver_scd_osx_v1.2.zip

Docker

无需安装运行时,直接拉取镜像即可运行,运行镜像时需要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

使用方法

1.解压缩NSmartProxy服务端的压缩包,以下以SCD发布下的linux系统为例

12

unzip nspserver_scd_linux_v1.2.zipcd nspserver_scd_linux_v1.2

2.打开安装目录下的appsettings.json文件,设置反向连接端口和配置服务端口,如果没有特殊需求,默认就好

12345

{ "ReversePort": 7842, //反向连接端口 "ConfigPort": 7841, //配置服务端口 "WebAPIPort": 12309 //API服务端口}

3.运行NSmartProxy
第一步 cd到安装目录
第二步 执行以下命令

Linux/MacOS:

12

chomod +x ./NSmartProxy.ServerHost./NSmartProxy.ServerHost

Windows: 点击 Win+R 打开运行窗口. 输入 “cmd” 按下Ctrl+Shift+Enter打开管理员身份运行的命令行窗口。cd到安装目录,运行如下指令:

NSmartProxy.ServerHost

第三步 登陆http://ip:12309 进入web端,出厂用户密码为admin/admin
第四步 进入服务端对用户进行各种管理操作
注册为后台服务

NSmartProxy客户端和服务端均可以注册为一个后台服务,方法如下:

  • Windows 以管理员身份打开命令行后,cd到程序运行目录,运行以下指令进行服务的注册和卸载:

1234

#rem 注册服务端windows服务.\NSmartProxy.ServerHost action:install#rem 卸载服务端windows服务.\NSmartProxy.ServerHost action:uninstall

使用案例

以上已经讲述了将内网的服务映射到外网的方法,还有更多有趣的用法等着你发掘:

  1. 远程开机
  2. 使用windows远程控制操作办公室电脑
  3. 告别昂贵的vps,以极低的成本制作一个更强大的服务集群

源码地址

https://github.com/tmoonlight/NSmartProxy

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-12-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是NSmartProxy?
  • 特点
  • 运行原理
  • 客户端安装
    • 启动准备
      • Windows
      • Linux
      • MacOS
      • Docker
    • 使用方法
      • 1.打开安装目录下的appsettings.json文件,配置服务地址,映射地址和端口(winform版本也兼容这种配置方式,也可直接进入界面配置)
      • 2.运行NSmartProxy客户端
      • 3.后台运行
  • 服务端安装
    • 启动准备
      • Linux
      • Windows
      • MacOS
      • Docker
    • 使用方法
      • 1.解压缩NSmartProxy服务端的压缩包,以下以SCD发布下的linux系统为例
      • 2.打开安装目录下的appsettings.json文件,设置反向连接端口和配置服务端口,如果没有特殊需求,默认就好
      • 3.运行NSmartProxy
  • 使用案例
  • 源码地址
相关产品与服务
内容分发网络 CDN
内容分发网络(Content Delivery Network,CDN)通过将站点内容发布至遍布全球的海量加速节点,使其用户可就近获取所需内容,避免因网络拥堵、跨运营商、跨地域、跨境等因素带来的网络不稳定、访问延迟高等问题,有效提升下载速度、降低响应时间,提供流畅的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档