内网穿透工具之nps和npc

0    236    1

Tags:

👉 本文共约3174个字,系统预计阅读时间或需12分钟。

简介

https://github.com/ehang-io/nps

https://ehang-io.github.io/nps/#/

nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。支持tcp、udp、socks5、http等几乎所有流量转发,可用来访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析、内网socks5代理等等……,并带有功能强大的web管理端。

特点

  • 几乎支持所有协议

  • 支持内网http代理、内网socks5代理、p2p等多种协议的代理

  • 简洁但功能强大的WEB管理界面

  • 支持服务端、客户端同时控制

  • 扩展功能强大

  • 全平台兼容,一键注册为服务

  • Go语言编写

  1. 做微信公众号开发、小程序开发等----> 域名代理模式
  2. 想在外网通过ssh连接内网的机器,做云服务器到内网服务器端口的映射,----> tcp代理模式
  3. 在非内网环境下使用内网dns,或者需要通过udp访问内网机器等----> udp代理模式
  4. 在外网使用HTTP代理访问内网站点----> http代理模式
  5. 搭建一个内网穿透ss,在外网如同使用内网vpn一样访问内网资源或者设备----> socks5代理模式

架构

  • 一台有公网IP的服务器(VPS)运行服务端(NPS
  • 一个或多个运行在内网的服务器或者PC运行客户端(NPC

img

安装配置

nps

在nps目录下面会有一个nps可执行文件、conf配置目录和web网页目录,我们只需要修改conf/nps.conf即可。

npc

img

新建好客户端后,也可以在+中看到,详细的客户端连接命令:

img

web管理端

在客户端界面可以通过新增的方式添加客户端连接,每一个连接的vkey都是唯一区分的。

每一个客户端,在建立连接后,都可以建立多个不同协议的隧道,这一个个隧道就是不同的代理了。

内网穿透工具之nps和npc

本人提供Oracle、MySQL、PG等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

通过不同的协议和端口就可以连接代理的内网机器。

注意

After installation, the windows configuration file is located at C:\Program Files\nps, linux or darwin is located at /etc/nps

socks

适用范围: 在外网环境下如同使用vpn一样访问内网设备或者资源

假设场景: 想将公网服务器1.1.1.1的8003端口作为socks5代理,达到访问内网任意设备或者资源的效果

使用步骤

  • 在刚才创建的客户端隧道管理中添加一条socks5代理,填写监听的端口(8003),保存。
  • 在外网环境的本机配置socks5代理(例如使用proxifier进行全局代理),ip为公网服务器ip(1.1.1.1),端口为填写的监听端口(8003),即可畅享内网了

注意 经过socks5代理,当收到socks5数据包时socket已经是accept状态。表现是扫描端口全open,建立连接后短时间关闭。若想同内网表现一致,建议远程连接一台设备。

内网穿透工具之nps和npc

内网穿透工具之nps和npc

内网穿透工具之nps和npc

ssh.exe;SecureCRT.exe;cmd.exe;mstsc.exe

192.168.1.*;192.168.88.*;

私密连接

适用范围: 无需占用多余的端口、安全性要求较高可以防止其他人连接的tcp服务,例如ssh。

假设场景: 无需新增多的端口实现访问内网服务器10.1.50.2的22端口

使用步骤

  • 在刚才创建的客户端中添加一条私密代理,并设置唯一密钥secrettest和内网目标10.1.50.2:22
  • 在需要连接ssh的机器上以执行命令

如需指定本地端口可加参数-local_port=xx,默认为2000

注意: password为web管理上添加的唯一密钥,具体命令可查看web管理上的命令提示

假设10.1.50.2用户名为root,现在执行ssh -p 2000 root@127.0.0.1即可访问ssh

我的笔记本:

p2p服务

适用范围: 大流量传输场景,流量不经过公网服务器,但是由于p2p穿透和nat类型关系较大,不保证100%成功,支持大部分nat类型。nat类型检测

假设场景:

想通过访问使用端机器(访问端,也就是本机)的2000端口---->访问到内网机器 10.2.50.2的22端口

使用步骤

  • 中设置

    (nps服务器ip)和

    (nps服务器udp端口)

    注:若 p2p_port 设置为6000,请在防火墙开放6000~6002(额外添加2个端口)udp端口

  • 在刚才刚才创建的客户端中添加一条p2p代理,并设置唯一密钥p2pssh

  • 在使用端机器(本机)执行命令

如需指定本地端口可加参数-local_port=xx,默认为2000

注意: password为web管理上添加的唯一密钥,具体命令可查看web管理上的命令提示

假设内网机器为10.2.50.2的ssh用户名为root,现在在本机上执行ssh -p 2000 root@127.0.0.1即可访问机器2的ssh,如果是网站在浏览器访问127.0.0.1:2000端口即可。

日志

注册到服务后,日志文件windows位于当前目录下,linux和darwin位于/var/log/npc.log

报错

1、Validation key incorrect

可能是配置文件格式有问题,可以从正常的环境拷贝一份,例如:

2、[control.go:290] strconv.Atoi: parsing "": invalid syntax

npc客户端配置文件删除这些无用的配置:

参考

https://v0w.top/2020/08/11/IntranetProxy/#0x01-nps-npc

标签:

头像

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

20 − 8 =

 

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部
返回顶部