Nps内网穿透

admin 2024年1月29日22:46:15评论26 views字数 2685阅读8分57秒阅读模式

Nps内网穿透

官方的文档写的很清楚了,因为是图形界面,也很简单,水~

一、简介

nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等……),此外还支持内网http代理、内网socks5代理p2p等,并带有功能强大的web管理端。

1、特点

1.协议支持全面,兼容几乎所有常用协议,例如tcp、udp、http(s)、socks5、p2p、http代理...
2.全平台兼容(linux、windows、macos、群辉等),支持一键安装为系统服务
3.控制全面,同时支持服务端和客户端控制
4.https集成,支持将后端代理和web服务转成https,同时支持多证书
5.操作简单,只需简单的配置即可在web ui上完成其余操作
6.展示信息全面,流量、系统信息、即时带宽、客户端版本等
7.扩展功能强大,该有的都有了(缓存、压缩、加密、流量限制、带宽限制、端口复用等等)
8.域名解析具备自定义header、404页面配置、host修改、站点保护、URL路由、泛解析等功能
9.服务端支持多用户和用户注册功能

2、下载地址

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

Nps内网穿透

二、准备工作

1、服务端配置文件

名称 含义
web_port web管理端口
web_password web界面管理密码
web_username web界面管理账号
web_base_url web管理主路径,用于将web管理置于代理子路径后面
bridge_port 服务端客户端通信端口
https_proxy_port 域名代理https代理监听端口
http_proxy_port 域名代理http代理监听端口
auth_key web api密钥
bridge_type 客户端与服务端连接方式kcp或tcp
public_vkey 客户端以配置文件模式启动时的密钥,设置为空表示关闭客户端配置文件连接模式
ip_limit 是否限制ip访问,true或false或忽略
flow_store_interval 服务端流量数据持久化间隔,单位分钟,忽略表示不持久化
log_level 日志输出级别
auth_crypt_key 获取服务端authKey时的aes加密密钥,16位
p2p_ip 服务端Ip,使用p2p模式必填
p2p_port p2p模式开启的udp端口
pprof_ip debug pprof 服务端ip
pprof_port debug pprof 端口
disconnect_timeout 客户端连接超时,单位 5s,默认值 60,即 300s = 5mins

Nps内网穿透

#HTTP(S) proxy port, no startup if empty
http_proxy_ip=0.0.0.0
http_proxy_port=80//http代理,可修改
https_proxy_port=443//https代理,可修改
https_just_proxy=true

#bridge
bridge_type=tcp//客户端与服务端连接方式
bridge_port=8024//默认客户端连接服务器端的桥接口,可修改
bridge_ip=0.0.0.0

public_vkey=123//公用的客户端连接服务端密钥,可修改

#web后台管理
web_host=a.o.com
web_username=admin//默认用户名,修改
web_password=123//默认密码,修改
web_port = 8080//默认web端口
web_ip=0.0.0.0
web_base_url=//可设置web路径
web_base_url=/nps
web_open_ssl=false//如果web管理需要使用https,可以在配置文件nps.conf中设置web_open_ssl=true,并配置web_cert_file和web_key_file
web_cert_file=conf/server.pem
web_key_file=conf/server.key

auth_crypt_key =1234567812345678//auth_key, web api认证ip密钥,可修改,必须16位

2、VPS上运行

./nps

Nps内网穿透

3、访问web端

http://192.168.199.128:8080/login/index

访问8080端口即可

Nps内网穿透

4、建立客户端

4.1、设置客户端

这里注意建好的ID,后续建立隧道需要用到ID

Nps内网穿透

4.2、在目标机上传client文件后,执行如下命令,即可建立连接

linux:./npc -server=192.168.199.128:8024 -vkey=123456 -type=tcp

windows:npc.exe -server=192.168.199.128:8024 -vkey=123456 -type=tcp

Nps内网穿透

4.3、边界服务区运行命令

npc -server=192.168.199.128:8024 -vkey=123456 -type=tcp

Nps内网穿透

回到客户端,刷新即可看到上线状态Nps内网穿透

三、tcp隧道

1、适用范围

ssh、远程桌面等tcp连接场景

2、假设场景

公网VPS:192.168.199.128

边界服务器:192.168.199.137 10.10.10.150

内网目标机:10.10.10.149

想通过访问公网服务器 192.168.199.128 的 8001 端口,连接内网机器 10.10.10.149 的 3389 端口

3、使用步骤

3.1、添加隧道

在刚才创建的客户端隧道管理中添加一条tcp隧道

填写监听的端口(8001)

内网目标ip和目标端口(10.10.10.149:3389)

保存

Nps内网穿透

Nps内网穿透

3.2、访问VPS 8001端口测试

rdesktop 192.168.199.128:8001

Nps内网穿透

四、socks5代理

1、适用范围

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

2、假设场景

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

3、使用步骤

3.1、建立代理

Nps内网穿透

设置监听端口 8002 并保存

Nps内网穿透

3.2、设置全局代理

vim /etc/proxychains.conf

Nps内网穿透

3.3、测试

Nps内网穿透

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

其他还有好多功能,都差不多

原文始发于微信公众号(Nurburgring):Nps内网穿透

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月29日22:46:15
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Nps内网穿透http://cn-sec.com/archives/872487.html

发表评论

匿名网友 填写信息