高性能多线程并发稳定数据传输(不丢包,不粘包,顺序不错乱,支持大数据收发),多种协议通信框架,满足一切通信需求
 
发新帖
楼主: 天启
查看: 1530|回复: 1

[例程源码] 使用netsh进行系统端口转发

[复制链接]
天启VIP6 发表于 2021-9-6 23:47:57 | 显示全部楼层
很多情况下,我们往往需要通过对某个端口进行转发(端口映射)实现某些特殊功能,比如对外开放vagrant中的服务。在Linux中,使用iptables可以非常轻松地配置端口重定向。在Windows中可以使用内置网络配置命令行工具NetSH实现端口转发的功能。

NetSH (Network Shell) 是windows系统本身提供的功能强大的网络配置命令行工具。

添加端口转发
  1. netsh interface portproxy add v4tov4 listenaddress=<ip> listenport=<port> connectaddress=<ip> connectport=<port>
  2. netsh interface portproxy add v4tov6 listenaddress=<ip> listenport=<port> connectaddress=<ip> connectport=<port>
  3. netsh interface portproxy add v6tov4 listenaddress=<ip> listenport=<port> connectaddress=<ip> connectport=<port>
  4. netsh interface portproxy add v6tov6 listenaddress=<ip> listenport=<port> connectaddress=<ip> connectport=<port>
复制代码
istenaddress 等待连接的本地IP地址。
listenport 本地侦听TCP端口。
connectaddress 将传入连接重定向到本地或远程IP地址(或DNS名称)。
connectport 一个TCP端口,来自listenport的连接会被转发到该端口。

查看已经设置的端口转发
  1. netsh interface portproxy show all
  2. netsh interface portproxy show v4tov4
  3. netsh interface portproxy show v4tov6
  4. netsh interface portproxy show v6tov4
  5. netsh interface portproxy show v6tov6
复制代码


查看端口是否已经监听
  1. netstat -an | find "LISTEN"
复制代码

修改已经设置的端口转发
  1. netsh interface portproxy set v4tov4 listenport=<port>
  2. netsh interface portproxy set v6tov4 listenport=<port>
  3. netsh interface portproxy set v4tov6 listenport=<port>
  4. netsh interface portproxy set v6tov6 listenport=<port>
复制代码


删除已经设置的端口转发
  1. netsh interface portproxy delete v4tov4 listenport=<port>
  2. netsh interface portproxy delete v6tov4 listenport=<port>
  3. netsh interface portproxy delete v4tov6 listenport=<port>
  4. netsh interface portproxy delete v6tov6 listenport=<port>
复制代码


删除指定的端口转发规则
  1. netsh interface portproxy delete v4tov4 listenport=<port> listenaddress=<ip>
复制代码


清除所有当前的端口转发规则
  1. netsh interface portproxy reset
复制代码
重要:以上端口转发仅适用于TCP端口,对于UDP端口将不起作用,并且不能使用127.0.0.1作为连接地址。
端口转发还可用于将端口从网卡的外部地址,转发到在同一计算机上运行的虚拟机端口。

重要:请确保防火墙(Windows防火墙或通常包含在杀毒软件中的第三方防火墙)允许到新端口的传入连接。请确保在服务里面开启IP Helper服务
sunshinexbo 发表于 2021-9-24 20:36:33 | 显示全部楼层
这个有易语言例子嘛.
快速回复 返回顶部 返回列表