使用Windows工具Netsh实现端口映射

        Netsh(Network Shell) 是一个Windows系统自带的一个功能强大的命令行配置工具。它允许用户显示或修改当前正在运行的计算机的网络配置。‌ netsh能够通过命令行操作几乎所有Windows系统中的网络设置,‌如设置IP地址、‌DNS、‌网卡、‌无线网络等。‌

        下面介绍一下如何用netsh工具来做端口映射,以及相关的命令。

        使用Netsh需要使用管理员权限启动命令行窗口或powershell窗口,netsh的常用二级命令包括:

?             

显示命令列表

add           

在项目列表上添加一个配置项目

set           

更新配置设置

show          

显示信息

advfirewall   

管理防火墙配置

bridge        

管理网络桥接配置

delete        

在项目列表上删除一个配置项目

dhcpclient    

管理DHCP客户端配置

dnsclient     

管理DNS配置

dump          

显示一个配置脚本

exec         

运行一个脚本文件

help          

显示命令列表

interface     

管理网络接口配置

ipsec         

管理ipsec配置

1. 添加端口映射
假设我们需要将到达本机上某个端口的流量映射到目标主机的目标端口,可以使用如下命令

netsh interface portproxy add v4tov4 listenaddress=<本机IP> listenport=<本机端口> connectaddress=<目标IP> connectport=<目标端口>

下例中,会将当前主机2022端口上的所有网络流量映射到目标主机192.168.0.50的22端口上:

netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=2002 connectaddress=192.168.0.50 connectport=22

netsh命令执行成功后即时生效,并且重启系统不会丢失。

执行完上述操作,还需要在本机防火墙上添加一个相应端口的入站规则,才能使端口映射功能完全配置完成,命令如下:

netsh advfirewall firewall add rule name=in_rule dir=in action=allow protocol=tcp localport=2002

2. 查看端口映射

netsh interface portproxy show all
或者,针对IPv4网络:
netsh interface portproxy show v4tov4

3. 删除端口映射

netsh interface portproxy delete v4tov4 listenaddress=<本机IP> listenport=<本机端口>

在netsh工具的下级命令中可以使用‘?’命令并回车,以获取更多有用提示。

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值