用 netsh interface portproxy 转发 TCP 端口

Windows 自带一个隐藏的 TCP 端口转发器——把本地端口桥接到任意远程主机:端口,无需安装任何软件。

Windows网络端口转发转发中风险
以管理员身份运行 portproxy add 命令建立转发,用 `netsh interface portproxy show all` 查看现有规则。

01命令

命令
$ netsh interface portproxy add v4tov4 listenport=8080 listenaddress=127.0.0.1 connectport=80 connectaddress=10.0.0.5

02作用说明

portproxy 会让 Windows 在 listenaddress:listenport 上监听,并把所有连接转发到 connectaddress:connectport——访问 WSL2、虚拟机或绑定特殊端口的旧服务时特别好用。规则会写入注册表并在重启后保留,这也是被遗忘的转发规则导致莫名其妙的“端口被占用”错误的原因。如果监听的不是 127.0.0.1,还要确保 Windows Defender 防火墙放行该入站端口,并小心不要把内部服务意外暴露出去。

03风险

风险中风险
使用条件Run in an elevated PowerShell or Command Prompt. View current forwards with `netsh interface portproxy show all`.
!注意: 端口转发会把内部服务暴露给所有能访问监听地址的人;除非确有需要,请只监听 127.0.0.1。

04撤销

撤销
$ netsh interface portproxy delete v4tov4 listenport=8080 listenaddress=127.0.0.1

05来源

  • Netsh - Windows CMD
    SS64 · technical · 2026-09-17
    依据: SS64 covers the netsh command contexts, including the interface portproxy context for TCP port forwarding.
  • netsh interface portproxy | Microsoft Learn
    Microsoft · vendor-doc · 2026-09-17
    依据: Microsoft documents the portproxy add/delete/set/show commands with v4tov4 parameters listenaddress, listenport, connectaddress, connectport.

最后验证: 2026-09-17 · 分类: 网络

06相关方案