最近在做界面开发时,想要直接在手机上看看实际效果,由于我的服务器是放在虚拟机上的,所以需要在window上面做个端口转发,这就需要用到netsh
命令。
添加端口转发
netsh interface portproxy add v4tov4 listenport=8080 listenaddress=0.0.0.0 connectport=80 connectaddress=192.168.24.90
主要参数:
v4tov4
:表示IPv4
到IPv4
的转发listenport=8080
: 代理在本地机器上监听的端口号listenaddress=0.0.0.0
: 代理在本地机器上监听的IP地址。0.0.0.0
表示本机所有IPv4
地址,即不管数据包是发送到哪个本地IPv4地址,只要是发送到8080
端口的,都符合这个规则connectport=80
:代理将流量转发到的目标端口connectaddress=192.168.24.90
:代理将流量转发到的目标IP地址
设置成功后,当本地机器收到任何发往8080
端口的流量时,都会将这些流量转发到IP地址为192.168.24.90
的机器上的80
端口。
删除端口转发
如果想要删除端口转发,可以使用以下指令,参数和添加时候一样:
netsh interface portproxy delete v4tov4 listenport=8080 listenaddress=0.0.0.0
查看端口转发
添加端口转发后,可以使用以下命令查看已经设置的端口转发规则:
netsh interface portproxy show all
执行上述命令后,将看到类似以下的输出,显示当前配置的所有端口转发规则:
侦听 IPv4 地址 侦听端口 连接 IPv4 地址 连接端口
--------------------- ---------- ---------------- ----------
0.0.0.0 8080 192.168.24.90 80
0.0.0.0 10001 192.168.24.90 10001
注意事项
windows上做端口转发是非常简单的,值得注意的是,执行指令时,需要管理员权限。
此外,还需要对防火墙做设置,开放指定的端口,才能最终生效。
UI界面
每次都需要输入指令比较麻烦,干脆让ChatGPT
用python
写个简单的小界面,直接在界面中查看和添加/删除端口转发,非常方便。
代码放在这里,有兴趣的可以看看。