Total Pageviews

Sunday, 3 July 2016

netsh – Windows自带的端口转发/端口映射工具


Windows自带,支持IPv4和IPv6,命令即时生效,重启系统后配置仍然存在.
缺点:不支持UDP
安装Netsh
rXP/2003需要先安装IPV6,Win7以上系统自带.

netsh interface ipv6 install
常用命令
add - 在一个表格中添加一个配置项。
delete - 从一个表格中删除一个配置项。
dump - 显示一个配置脚本。
help - 显示命令列表。
reset - 重置端口代理配置状态。
set - 设置配置信息。
show - 显示信息。


增加端口转发:
netsh interface portproxy add v4tov4 - 添加通过 IPv4 的 IPv4 和代理连接到的侦听项目。
netsh interface portproxy add v4tov6 - 添加通过 IPv6 的 IPv4 和代理连接到的侦听项目。
netsh interface portproxy add v6tov4 - 添加通过 IPv4 的 IPv6 和代理连接到的侦听项目。
netsh interface portproxy add v6tov6 - 添加通过 IPv6 的 IPv6 和代理连接到的侦听项目。
以netsh interface portproxy add v4tov4为例子,以下为相应的合格式:
用法

add v4tov4 [listenport=]<integer>|<servicename>
      [connectaddress=]<IPv4 address>|<hostname>
      [[connectport=]<integer>|<servicename>]
      [[listenaddress=]<IPv4 address>|<hostname>]
      [[protocol=]tcp]

add v4tov4 [listenport=]<integer>|<servicename>
      [connectaddress=]<IPv4 address>|<hostname>
      [[connectport=]<integer>|<servicename>]
      [[listenaddress=]<IPv4 address>|<hostname>]
      [[protocol=]tcp]
netsh-add-1
参数

        标记            值
        listenport      - IPv4 侦听端口。
        connectaddress  - IPv4 连接地址。
        connectport     - IPv4 连接端口。
        listenaddress   - IPv4 侦听地址。
        protocol        - 使用的协议。现在只支持 TCP

说明: 添加通过 IPv4 的 IPv4 和代理连接到的侦听项目。
        标记            值
        listenport      - IPv4 侦听端口。
        connectaddress  - IPv4 连接地址。
        connectport     - IPv4 连接端口。
        listenaddress   - IPv4 侦听地址。
        protocol        - 使用的协议。现在只支持 TCP

说明: 添加通过 IPv4 的 IPv4 和代理连接到的侦听项目。
netsh-add-2
列子
也是以netsh interface portproxy add v4tov4为列子
Shell

netsh interface portproxy add v4tov4 listenport=8080 connectaddress=192.168.8.108 connectport=8080

netsh interface portproxy add v4tov4 listenport=8080 connectaddress=192.168.8.108 connectport=8080
将本地的8080端口的数据转发至192.168.8.108上的8080端口


netsh interface portproxy add v4tov4 listenport=8080 connectaddress=192.168.8.108 connectport=9090

netsh interface portproxy add v4tov4 listenport=8080 connectaddress=192.168.8.108 connectport=9090
将本地的8080端口的数据转发至192.168.8.108上的9090端口
以上为netsh新增端口转发的方法.
显示端口转发
一般情况都是使用netsh interface portproxy show all 进行查看,如果你设置的比较多.下面的命令比较适合你了.

netsh interface portproxy show all       - 显示所有端口代理参数。
netsh interface portproxy show v4tov4    - 显示 IPv4 代理连接到另一个 IPv4 端口的参数。
netsh interface portproxy show v4tov6    - 显示 IPv4 代理连接到 IPv6 的参数。
netsh interface portproxy show v6tov4    - 显示 IPv6 代理连接到 IPv4 的参数。
netsh interface portproxy show v6tov6    - 显示 IPv6 代理连接到另一个 IPv6 端口的参数。

netsh interface portproxy show all       - 显示所有端口代理参数。
netsh interface portproxy show v4tov4    - 显示 IPv4 代理连接到另一个 IPv4 端口的参数。
netsh interface portproxy show v4tov6    - 显示 IPv4 代理连接到 IPv6 的参数。
netsh interface portproxy show v6tov4    - 显示 IPv6 代理连接到 IPv4 的参数。
netsh interface portproxy show v6tov6    - 显示 IPv6 代理连接到另一个 IPv6 端口的参数。
netsh-show-1
例如使用“netsh interface portproxy show all”查看后就会出现下图内容
netsh-show-2
修改端口转发
这里就不详说了,如果你学会如何添加,下面就是将添加的add更换为set即为修改命令
命令

netsh interface portproxy set v4tov4     - 更新通过 IPv4 的 IPv4 和代理连接到的侦听项目。
netsh interface portproxy set v4tov6     - 更新通过 IPv6 的 IPv4 和代理连接到的侦听项目。
netsh interface portproxy set v6tov4     - 更新通过 IPv4 的 IPv6 和代理连接到的侦听项目。
netsh interface portproxy set v6tov6     - 更新通过 IPv6 的 IPv6 和代理连接到的侦听项目。
netsh interface portproxy set v4tov4     - 更新通过 IPv4 的 IPv4 和代理连接到的侦听项目。
netsh interface portproxy set v4tov6     - 更新通过 IPv6 的 IPv4 和代理连接到的侦听项目。
netsh interface portproxy set v6tov4     - 更新通过 IPv4 的 IPv6 和代理连接到的侦听项目。
netsh interface portproxy set v6tov6     - 更新通过 IPv6 的 IPv6 和代理连接到的侦听项目。
例如

netsh interface portproxy set v4tov4 listenport=8080 connectaddress=192.168.8.108 connectport=8090
netsh interface portproxy set v4tov4 listenport=8080 connectaddress=192.168.8.108 connectport=8090
将本地8080端口改成转发至192.168.8.108的8090端口.

删除端口转发
命令

netsh interface portproxy delete v4tov4 - 删除通过 IPv4 的 IPv4 和代理连接到的侦听项目。
netsh interface portproxy delete v4tov6 - 删除通过 IPv6 的 IPv4 和代理连接到的侦听项目。
netsh interface portproxy delete v6tov4 - 删除通过 IPv4 的 IPv6 和代理连接到的侦听项目。
netsh interface portproxy delete v6tov6 - 删除通过 IPv6 的 IPv6 和代理连接到的侦听项目。

netsh interface portproxy delete v4tov4 - 删除通过 IPv4 的 IPv4 和代理连接到的侦听项目。
netsh interface portproxy delete v4tov6 - 删除通过 IPv6 的 IPv4 和代理连接到的侦听项目。
netsh interface portproxy delete v6tov4 - 删除通过 IPv4 的 IPv6 和代理连接到的侦听项目。
netsh interface portproxy delete v6tov6 - 删除通过 IPv6 的 IPv6 和代理连接到的侦听项目。
列子

netsh interface portproxy delete v4tov4 listenport=8080
netsh interface portproxy delete v4tov4 listenport=8080
命令都是比较简单的.,通常使用香港的服务器转发美国的服务器.,效果要好很多.
所以这个命令呢.还是需要学习一下的.毕竟方便很多的设置.