参考:Document

准备工作

win64位服务端

https://github.com/ehang-io/nps/releases/download/v0.26.10/windows_amd64_server.tar.gz

win64位客户端

https://github.com/ehang-io/nps/releases/download/v0.26.10/windows_amd64_client.tar.gz

Linux amd64服务端

https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_server.tar.gz

Linux amd64客户端

https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_client.tar.gz

可以通过uname -m 或者 arch 命令来查看CPU,如果显示x86_64 那么就是64 位的 x86 架构(即 amd64),而 aarch64 表示系统是 64 位的 ARM 架构(即 arm64)。

其他处理器版本下载地址

配置服务端

找到下载好的server端文件目录,在管理员权限的命令提示符环境下,执行安装命令

1
nps install

启动服务端,这个命令执行后没有回显信息,所以如果不报错就说明启动成功了

1
nps start
  • 访问服务端ip:web服务端口(默认为8080)
  • 使用用户名和密码登陆(默认admin/123)

配置客户端

找到下载好的client端文件目录,执行一条命令

Linux

1
./npc -server=ip:port -vkey=web界面中显示的密钥

Windows

1
npc.exe -server=ip:port -vkey=web界面中显示的密钥

其中,ip:port就是服务端的ip和port,这里的port要注意是管理页面中出现的客户端连接端口(默认为8024)

vkey需要在管理界面中点击客户端栏目,先添加一个客户端,多出来的一栏中的唯一验证密钥就是key,此时还没有被代理机连接,需要被代理机运行这段带key的命令才能上线

实战场景

环境

利用VMware仅主机模式的网卡特性,将宿主机(WIN10)作为对外服务对内网服务进行代理,Ubuntu作为内网服务提供者,Kali作为外网用户,只能访问WIN10宿主机

Kali配置

使用VMnet1网卡(仅主机模式),保证能与宿主机通信

VMnet1网卡地址:192.168.215.1,也是宿主机与该虚拟机通信用到的ip地址

宿主机WIN10配置

按前面步骤开启Server端。并添加一个客户端

Ubuntu配置

使用VMnet2网卡(仅主机模式),保证能与宿主机通信

下载client端,执行上线命令

1
./npc -server=ip:port -vkey=l54db69jk8yb8dfw

这里的ip填VMnet2网卡在宿主机上的地址,我这里是192.168.52.1

上线成功如下图所示

然后,随便去个目录下面开启http服务,例如python3 -m http.server,会在本地的8000端口开启一个目录文件服务

代理搭建

回到控制端->客户端->查看->隧道->新增

验证

Kali访问http://192.168.215.1:8888/

代理+穿透成功