Network shell (netsh) 是一种命令行实用工具,使用该工具,你可以在运行 Windows Server 的计算机上安装网络通信服务器组件之后配置和显示各种网络通信服务器角色和组件的状态。
一些客户端技术,例如动态主机配置协议 (DHCP) 客户端和BranchCache,也提供 netsh 命令,通过这些命令,你可以配置运行 Windows 10 的客户端计算机。
在大多数情况下,netsh 命令提供的功能与你使用每个网络服务器角色或网络功能的 Microsoft 管理控制台 (MMC) 管理单元时提供的功能相同。 例如,可以使用 NPS MMC 管理单元或 netsh nps 上下文中的 netsh 命令来配置网络策略服务器 (NPS) 。
此外,还有一些用于网络技术的 netsh 命令,例如用于 IPv6、网桥和远程过程调用 (RPC) 的命令,这些命令在Windows Server 中不能作为 MMC 管理单元使用。
具体的使用方式,可以查看微软官网的支持文档:链接
本文的主要内容是端口代理的netsh命令。
使用 netsh interface portproxy 命令作为 IPv4 和 IPv6 网络与应用程序之间的代理 。 可以通过以下方式使用这些命令建立代理服务:
- 发送到 IPv4 配置的其他计算机和应用程序的 IPv4 配置的计算机和应用程序消息。
- 发送到 IPv6 配置的计算机和应用程序的 IPv4 配置的计算机和应用程序消息。
- 发送到 IPv4 配置的计算机和应用程序的 IPv6 配置的计算机和应用程序消息。
- 发送到 IPv6 配置的其他计算机和应用程序的 IPv6 配置的计算机和应用程序消息。
使用这些命令编写批处理文件或脚本时,每个命令必须以 netsh interface portproxy 开头 。
可用的 netsh interface portproxy 命令如下:
add v4tov4
端口代理服务器监听发送到特定端口和 IPv4 地址的消息。 它映射了一个端口和 IPv4 地址,以发送建立单独的 TCP 连接后收到的消息。
语法
PowerShell复制
1 |
add v4tov4 listenport= {Integer | ServiceName} [[connectaddress=] {IPv4Address | HostName}] [[connectport=] {Integer | ServiceName}] [[listenaddress=] {IPv4Address | HostName}] [[protocol=]tcp] |
参数
参数 | 说明 |
---|---|
listenport | 按端口号或服务名称指定要对其进行侦听的 IPv4 端口。 |
connectaddress | 指定要连接的 IPv4 地址。 可接受的值为 IP 地址、计算机 NetBIOS 名称或计算机 DNS 名称。 如果未指定地址,则默认值为本地计算机。 |
connectport | 按端口号或服务名称指定要连接的 IPv4 端口。 如果未指定 connectport,则默认值为本地计算机上 listenport 的值 。 |
listenaddress | 指定要侦听的 IPv4 地址。 可接受的值为 IP 地址、计算机 NetBIOS 名称或计算机 DNS 名称。 如果未指定地址,则默认值为本地计算机。 |
protocol | 指定要使用的协议。 |
add v4tov6
Portproxy 服务器侦听发送到特定端口和 IPv4 地址的消息,并映射端口和 IPv6 地址以发送在建立单独的 TCP 连接后收到的消息。
语法
PowerShell复制
1 |
add v4tov6 listenport= {Integer | ServiceName} [[connectaddress=] {IPv6Address | HostName} [[connectport=] {Integer | ServiceName}] [[listenaddress=] {IPv4Address | HostName} [[protocol=]tcp] |
参数
参数 | 说明 |
---|---|
listenport | 按端口号或服务名称指定要对其进行侦听的 IPv4 端口。 |
connectaddress | 指定要连接的 IPv6 地址。 可接受的值为 IP 地址、计算机 NetBIOS 名称或计算机 DNS 名称。 如果未指定地址,则默认值为本地计算机。 |
connectport | 按端口号或服务名称指定要连接的 IPv6 端口。 如果未指定 connectport,则默认值为本地计算机上 listenport 的值 。 |
listenaddress | 指定要对其进行侦听的 IPv4 地址。 可接受的值为 IP 地址、计算机 NetBIOS 名称或计算机 DNS 名称。 如果未指定地址,则默认值为本地计算机。 |
protocol | 指定要使用的协议。 |
add v6tov4
Portproxy 服务器侦听发送到特定端口和 IPv6 地址的消息,并映射端口和 IPv4 地址以发送在建立单独的 TCP 连接后收到的消息。
语法
PowerShell复制
1 |
add v6tov4 listenport= {Integer | ServiceName} [[connectaddress=] {IPv4Address | HostName} [[connectport=] {Integer | ServiceName}] [[listenaddress=] {IPv6Address | HostName} [[protocol=]tcp] |
参数
参数 | 说明 |
---|---|
listenport | 按端口号或服务名称指定要对其进行侦听的 IPv6 端口。 |
connectaddress | 指定要连接的 IPv4 地址。 可接受的值为 IP 地址、计算机 NetBIOS 名称或计算机 DNS 名称。 如果未指定地址,则默认值为本地计算机。 |
connectport | 按端口号或服务名称指定要连接的 IPv4 端口。 如果未指定 connectport,则默认值为本地计算机上 listenport 的值 。 |
listenaddress | 指定要对其进行侦听的 IPv6 地址。 可接受的值为 IP 地址、计算机 NetBIOS 名称或计算机 DNS 名称。 如果未指定地址,则默认值为本地计算机。 |
protocol | 指定要使用的协议。 |
add v6tov6
Portproxy 服务器侦听发送到特定端口和 IPv6 地址的消息,并映射端口和 IPv6 地址以发送在建立单独的 TCP 连接后收到的消息。
语法
PowerShell复制
1 |
add v6tov6 listenport= {Integer | ServiceName} [[connectaddress=] {IPv6Address | HostName} [[connectport=] {Integer | ServiceName}] [[listenaddress=] {IPv6Address | HostName} [[protocol=]tcp] |
参数
参数 | 说明 |
---|---|
listenport | 按端口号或服务名称指定要对其进行侦听的 IPv6 端口。 |
connectaddress | 指定要连接的 IPv6 地址。 可接受的值为 IP 地址、计算机 NetBIOS 名称或计算机 DNS 名称。 如果未指定地址,则默认值为本地计算机。 |
connectport | 按端口号或服务名称指定要连接的 IPv6 端口。 如果未指定 connectport,则默认值为本地计算机上 listenport 的值 。 |
listenaddress | 指定要对其进行侦听的 IPv6 地址。 可接受的值为 IP 地址、计算机 NetBIOS 名称或计算机 DNS 名称。 如果未指定地址,则默认值为本地计算机。 |
protocol | 指定要使用的协议。 |
delete v4tov4
Portproxy 服务器从服务器侦听的 IPv4 端口和地址列表中删除 IPv4 地址。
语法
PowerShell复制
1 |
delete v4tov4 listenport= {Integer | ServiceName} [[listenaddress=] {IPv4Address | HostName} [[protocol=]tcp] |
参数
参数 | 说明 |
---|---|
listenport | 指定要删除的 IPv4 端口。 |
listenaddress | 指定要删除的 IPv4 地址。 如果未指定地址,则默认值为本地计算机。 |
protocol | 指定要使用的协议。 |
delete v4tov6
Portproxy 服务器从服务器侦听的 IPv4 地址列表中删除 IPv4 端口和地址。
语法
PowerShell复制
1 |
delete v4tov6 listenport= {Integer | ServiceName} [[listenaddress=] {IPv4Address | HostName} [[protocol=]tcp] |
参数
参数 | 说明 |
---|---|
listenport | 指定要删除的 IPv4 端口。 |
listenaddress | 指定要删除的 IPv4 地址。 如果未指定地址,则默认值为本地计算机。 |
protocol | 指定要使用的协议。 |
delete v6tov4
Portproxy 服务器从服务器侦听的 IPv6 地址列表中删除 IPv6 端口和地址。
语法
PowerShell复制
1 |
delete v6tov4 listenport= {Integer | ServiceName} [[listenaddress=] {IPv6Address | HostName} [[protocol=]tcp] |
参数
参数 | 说明 |
---|---|
listenport | 指定要删除的 IPv6 端口。 |
listenaddress | 指定要删除的 IPv6 地址。 如果未指定地址,则默认值为本地计算机。 |
protocol | 指定要使用的协议。 |
delete v6tov6
Portproxy 服务器从服务器侦听的 IPv6 地址列表中删除 IPv6 地址。
语法
PowerShell复制
1 |
delete v6tov6 listenport= {Integer | ServiceName} [[listenaddress=] {IPv6Address | HostName} [[protocol=]tcp] |
参数
参数 | 说明 |
---|---|
listenport | 指定要删除的 IPv6 端口。 |
listenaddress | 指定要删除的 IPv6 地址。 如果未指定地址,则默认值为本地计算机。 |
protocol | 指定要使用的协议。 |
reset
重置 IPv6 配置状态。
语法
1 |
reset |
set v4tov4
修改使用 add v4tov4 命令创建的 portproxy 服务器上现有条目的参数值,或将新条目添加到映射端口/地址对的列表 。
语法
PowerShell复制
1 |
set v4tov4 listenport= {Integer | ServiceName} [[connectaddress=] {IPv4Address | HostName} [[connectport=] {Integer | ServiceName}] [[listenaddress=] {IPv4Address | HostName} [[protocol=]tcp] |
参数
参数 | 说明 |
---|---|
listenport | 按端口号或服务名称指定要对其进行侦听的 IPv4 端口。 |
connectaddress | 指定要连接的 IPv4 地址。 可接受的值为 IP 地址、计算机 NetBIOS 名称或计算机 DNS 名称。 如果未指定地址,则默认值为本地计算机。 |
connectport | 按端口号或服务名称指定要连接的 IPv4 端口。 如果未指定 connectport,则默认值为本地计算机上 listenport 的值 。 |
listenaddress | 指定要侦听的 IPv4 地址。 可接受的值为 IP 地址、计算机 NetBIOS 名称或计算机 DNS 名称。 如果未指定地址,则默认值为本地计算机。 |
protocol | 指定要使用的协议。 |
set v4tov6
修改使用 add v4tov6 命令创建的 portproxy 服务器上现有条目的参数值,或将新条目添加到映射端口/地址对的列表 。
语法
PowerShell复制
1 |
set v4tov6 listenport= {Integer | ServiceName} [[connectaddress=] {IPv6Address | HostName} [[connectport=] {Integer | ServiceName}] [[listenaddress=] {IPv4Address | HostName} [[protocol=]tcp] |
参数
参数 | 说明 |
---|---|
listenport | 按端口号或服务名称指定要对其进行侦听的 IPv4 端口。 |
connectaddress | 指定要连接的 IPv6 地址。 可接受的值为 IP 地址、计算机 NetBIOS 名称或计算机 DNS 名称。 如果未指定地址,则默认值为本地计算机。 |
connectport | 按端口号或服务名称指定要连接的 IPv6 端口。 如果未指定 connectport,则默认值为本地计算机上 listenport 的值 。 |
listenaddress | 指定要对其进行侦听的 IPv4 地址。 可接受的值为 IP 地址、计算机 NetBIOS 名称或计算机 DNS 名称。 如果未指定地址,则默认值为本地计算机。 |
protocol | 指定要使用的协议。 |
set v6tov4
修改使用 add v6tov4 命令创建的 portproxy 服务器上现有条目的参数值,或将新条目添加到映射端口/地址对的列表 。
语法
PowerShell复制
1 |
set v6tov4 listenport= {Integer | ServiceName} [[connectaddress=] {IPv4Address | HostName} [[connectport=] {Integer | ServiceName}] [[listenaddress=] {IPv6Address | HostName} [[protocol=]tcp] |
参数
参数 | 说明 |
---|---|
listenport | 按端口号或服务名称指定要对其进行侦听的 IPv6 端口。 |
connectaddress | 指定要连接的 IPv4 地址。 可接受的值为 IP 地址、计算机 NetBIOS 名称或计算机 DNS 名称。 如果未指定地址,则默认值为本地计算机。 |
connectport | 按端口号或服务名称指定要连接的 IPv4 端口。 如果未指定 connectport,则默认值为本地计算机上 listenport 的值 。 |
listenaddress | 指定要对其进行侦听的 IPv6 地址。 可接受的值为 IP 地址、计算机 NetBIOS 名称或计算机 DNS 名称。 如果未指定地址,则默认值为本地计算机。 |
protocol | 指定要使用的协议。 |
set v6tov6
修改使用 add v6tov6 命令创建的 portproxy 服务器上现有条目的参数值,或将新条目添加到映射端口/地址对的列表 。
语法
PowerShell复制
1 |
set v6tov6 listenport= {Integer | ServiceName} [[connectaddress=] {IPv6Address | HostName} [[connectport=] {Integer | ServiceName}] [[listenaddress=] {IPv6Address | HostName} [[protocol=]tcp] |
参数
参数 | 说明 |
---|---|
listenport | 按端口号或服务名称指定要对其进行侦听的 IPv6 端口。 |
connectaddress | 指定要连接的 IPv6 地址。 可接受的值为 IP 地址、计算机 NetBIOS 名称或计算机 DNS 名称。 如果未指定地址,则默认值为本地计算机。 |
connectport | 按端口号或服务名称指定要连接的 IPv6 端口。 如果未指定 connectport,则默认值为本地计算机上 listenport 的值 。 |
listenaddress | 指定要对其进行侦听的 IPv6 地址。 可接受的值为 IP 地址、计算机 NetBIOS 名称或计算机 DNS 名称。 如果未指定地址,则默认值为本地计算机。 |
protocol | 指定要使用的协议。 |
显示所有
显示所有 portproxy 参数,包括 v4tov4、v4tov6、v6tov4 和 v6tov6 的端口/地址对。
语法
1 |
show all |
show v4tov4
显示 v4tov4 portproxy 参数。
语法
1 |
show v4tov4 |
show v4tov6
显示 v4tov6 portproxy 参数。
语法
1 |
show v4tov6 |
show v6tov4
显示 v6tov4 portproxy 参数。
语法
1 |
show v6tov4 |
show v6tov6
显示 v6tov6 portproxy 参数。
语法
1 |
show v6tov6 |