在 Windows 下通过 netsh 实现端口转发

系统 QingYu 4年前 (2021-05-15) 441次浏览 0个评论

创建端口转发命令
命令

#通过IPv4代理转发IPv4计算机流量
netsh interface portproxy add v4tov4
#通过IPv4代理转发IPv6计算机流量
netsh interface portproxy add v6tov4
#通过IPv6代理转发IPv4计算机流量
netsh interface portproxy add v4tov6
#通过IPv6代理转发IPv6计算机流量
netsh interface portproxy add v6tov6

命令语法
以 IPv4 转发 IPv4 为例

netsh interface portproxy add v4tov4 [listenport=]|
            [connectaddress=]|
            [[connectport=]|]
            [[listenaddress=]|]
            [[protocol=]tcp]

参数

标记
listenport IPv4 侦听端口(代理机器使用的端口)
connectaddress IPv4 连接地址(被代理机器的 IP 地址)
connectport IPv4 连接端口(被代理机器使用的端口)
listenaddress IPv4 侦听地址(代理机器的 IP 地址)
protocol 使用的协议。现在只支持 TCP。

样例
将 192.168.137.2 的 88 端口转发到本地计算机任意 IP 的 80 端口

netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=80 connectaddress=192.168.137.2 connectport=88

将本地计算机 8080 端口转发到本机 192.168.1.44 的 80 端口

netsh interface portproxy add v4tov4 listenport=80 connectaddress=192.168.1.44 connectport=8080

将 192.168.1.44 的 80 端口转发到 52.148.33.12 的 443 端口(可以理解为双网卡,一个接入局域网,一个直接接入公网)

netsh interface portproxy add v4tov4 listenaddress=52.148.33.12 listenport=443 connectaddress=192.168.1.44 connectport=80

显示已转发的端口

#显示所有已转发的端口
netsh interface portproxy show all
#显示所有v4转v4的端口转发
netsh interface portproxy show v4tov4
#显示所有v4转v6的端口转发
netsh interface portproxy show v4tov6
#显示所有v6转v4的端口转发
netsh interface portproxy show v6tov4
#显示所有v6转v6的端口转发
netsh interface portproxy show v6tov6

修改端口转发规则
命令

#更新通过IPv4代理转发IPv4计算机流量规则
netsh interface portproxy set v4tov4
#更新通过IPv4代理转发IPv6计算机流量规则
netsh interface portproxy set v6tov4
#更新通过IPv6代理转发IPv4计算机流量规则
netsh interface portproxy set v4tov6
#更新通过IPv6代理转发IPv6计算机流量规则
netsh interface portproxy set v6tov6

命令语法

netsh interface portproxy set v4tov4 [listenport=]|
            [connectaddress=]|
            [[connectport=]|]
            [[listenaddress=]|]
            [[protocol=]tcp]

删除端口转发规则
命令

#删除通过IPv4代理转发IPv4计算机流量规则
netsh interface portproxy delete v4tov4
#删除通过IPv4代理转发IPv6计算机流量规则
netsh interface portproxy delete v6tov4
#删除通过IPv6代理转发IPv4计算机流量规则
netsh interface portproxy delete v4tov6
#删除通过IPv6代理转发IPv6计算机流量规则
netsh interface portproxy delete v6tov6

命令语法
netsh interface portproxy delete v4tov4 [listenport=]|

        [[listenaddress=]|]
        [[protocol=]tcp]

参数展开目录

标记
listenport IPv4 侦听端口(代理机器使用的端口)
listenaddress IPv4 侦听地址(代理机器的 IP 地址)
protocol 使用的协议。现在只支持 TCP。

参考资料
Netsh Technical Reference Documents

文章来源:https://blog.irain.in/archives/windows_netsh_config.html

喜欢 (2)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址