几款实用的内网穿透工具

发布时间 - 2022-06-21 09:54:21

0x01 nps-npc

1.1 简介

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

  • 一台有公网IP的服务器(VPS)运行服务端(NPS)

  • 一个或多个运行在内网的服务器或者PC运行客户端(NPC)

1.2 特点

  1. Go语言编写

  2. 支持跨平台

  3. 支持多种协议的代理

  4. web管理端

1.3 使用方法

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

NPS

安装配置

找到自己服务器相应版本的server:

cd ~
wget https://github.com/cnlh/nps/releases/download/v0.23.2/linux_amd64_server.tar.gz
tar xzvf linux_amd64_server.tar.gz
cd ~/nps

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

vim conf/nps.conf  

需要改一下#web下面的几个参数,

web_host= 服务器IP或者域名  
web_username= admin(登录用户名)  
web_password= 你的密码  
web_port=8080(web管理端口)  

修改#bridge 可以更改 NPC的连接端口。比如我们拿到一台权限受限的服务器,有防火墙,可能只有部分端口(80,443)可以出网,就需要修改成出网端口。

##bridge  
bridge_type=tcp  
bridge_port=443  # 修改连接端口  
bridge_ip=0.0.0.0  

启动

#Mac/Linux  
./nps test|start|stop|restart|status  测试配置文件|启动|停止|重启|状态  
  
#Windows  
nps.exe test|start|stop|restart|status 测试配置文件|启动|停止|重启|状态  

NPC

./npc -server=你的IP:8024 -vkey=验证密码 -type=tcp  


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


web管理端

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

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


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

0x02 frp

2.1 简介

frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。


2.2 特点

  • 客户端服务端通信支持 TCP、KCP 以及 Websocket 等多种协议。

  • 端口复用,多个服务通过同一个服务端端口暴露。

  • 跨平台,但是支持的比nps少一点

  • 多种插件,提供很多功能

2.3 使用方法

下载:https://github.com/fatedier/frp/releases

以下内容摘自:https://segmentfault.com/a/1190000021876836

1. 通过 rdp 访问家里的机器

1.修改 frps.ini 文件,为了安全起见,这里更好配置一下身份验证,服务端和客户端的 common 配置中的 token 参数一致则身份验证通过:

# frps.ini
[common]
bind_port = 7000
# 用于身份验证,请自行修改,要保证服务端与客户端一致
token = abcdefgh

2.启动 frps:

./frps -c ./frps.ini

3.修改 frpc.ini 文件,假设 frps 所在服务器的公网 IP 为 x.x.x.x:

# frpc.ini
[common]
server_addr = x.x.x.x
server_port = 7000
# 用于身份验证,请自行修改,要保证服务端与客户端一致
token = abcdefgh

[rdp]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 6000

4.启动 frpc:

./frpc -c ./frpc.ini

5.通过 rdp 访问远程的机器,地址为:

x.x.x.x:6000

开机自启

针对 Windows 系统,为了便于使用,可以配置一下开机的时候静默启动。

1.在 frpc.exe 的同级目录创建一个 start_frpc.vbs:

'start_frpc.vbs
'
请根据实际情况修改路径
CreateObject("WScript.Shell").Run """D:\Program Files\frp_windows_amd64\frpc.exe""" & "-c" & """D:\Program Files\frp_windows_amd64\frpc.ini""",0

2.复制 start_frpc.vbs 文件,打开以下目录,注意将

<USER_NAME>

改为你的用户名:

C:\Users\<USER_NAME>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

3.鼠标右击,粘贴为快捷方式即可。

2. 通过 SSH 访问公司内网机器

frps 的部署步骤同上。

<p style="margin-top: 10px; margin-bottom: 10px; padding: 8px 0px; outline: 0px; max-width: ; clear: both; min-height: 1em; letter-spacing: 0.544px; white-space: normal; font-family: Optima-Regular, Optima, PingFangSC

在线咨询
联系方式
微信二维码
线