CMD 命令 与 PowerShell 命令 在 IP 地址管理 中的功能对比表格。表格按照不同的 IP 地址管理功能分类,以帮助理解两者的差异和应用场景。

ipconfig | Microsoft Learn

 

PS C:\Users\Administrator> ipconfig /?

用法:
    ipconfig [/allcompartments] [/? | /all |
                                 /renew [adapter] | /release [adapter] |
                                 /renew6 [adapter] | /release6 [adapter] |
                                 /flushdns | /displaydns | /registerdns |
                                 /showclassid adapter |
                                 /setclassid adapter [classid] |
                                 /showclassid6 adapter |
                                 /setclassid6 adapter [classid] ]

其中
    adapter             连接名称 (允许使用通配符 * 和 ?,参见示例)

    选项:
      ipconfig  /?               显示此帮助消息
     ipconfig   /all             显示完整配置信息。
     ipconfig   /release         释放指定适配器的 IPv4 地址。
     ipconfig   /release6        释放指定适配器的 IPv6 地址。
     ipconfig   /renew           更新指定适配器的 IPv4 地址。
     ipconfig   /renew6          更新指定适配器的 IPv6 地址。
     ipconfig   /flushdns        清除 DNS 解析程序缓存。
     ipconfig   /registerdns     刷新所有 DHCP 租用并重新注册 DNS 名称
    ipconfig    /displaydns      显示 DNS 解析程序缓存的内容。
    ipconfig    /showclassid     显示适配器允许的所有 DHCP 类 ID。
    ipconfig    /setclassid      修改 DHCP 类 ID。
    ipconfig    /showclassid6    显示适配器允许的所有 IPv6 DHCP 类 ID。
    ipconfig    /setclassid6     修改 IPv6 DHCP 类 ID。


默认情况下,仅显示绑定到 TCP/IP 的每个适配器的 IP 地址、子网掩码和默认网关。

对于 Release 和 Renew,如果未指定适配器名称,则会释放或更新所有绑定到 TCP/IP 的适配器的 IP 地址租用。

对于 Setclassid 和 Setclassid6,如果未指定 ClassId,则会删除 ClassId。

示例:
    > ipconfig                       ... 显示信息
    > ipconfig /all                  ... 显示详细信息
    > ipconfig /renew                ... 更新所有适配器
    > ipconfig /renew EL*            ... 更新所有名称以 EL 开头的连接
    > ipconfig /release *Con*        ... 释放所有匹配的连接,例如“有线以太网连接 1”或“有线以太网连接 2”
    > ipconfig /allcompartments      ... 显示有关所有隔离舱的信息
    > ipconfig /allcompartments /all ... 显示有关所有隔离舱的详细信息


PS C:\Users\Administrator> route print /?

操作网络路由表。

ROUTE [-f] [-p] [-4|-6] command [destination] [MASK netmask]  [gateway] [METRIC metric]  [IF interface]

  -f           清除所有网关项的路由表。如果与某个命令结合使用,在运行该命令前,应清除路由表。

  -p           与 ADD 命令结合使用时,将路由设置为在系统引导期间保持不变。默认情况下,重新启动系统时,不保存路由。忽略所有其他命令,这始终会影响相应的永久路由。

  -4           强制使用 IPv4。

  -6           强制使用 IPv6。

  command      其中之一:
                 PRINT     打印路由
                 ADD       添加路由
                 DELETE    删除路由
                 CHANGE    修改现有路由
  destination  指定主机。
  MASK         指定下一个参数为“netmask”值。
  netmask      指定此路由项的子网掩码值。如果未指定,其默认设置为 255.255.255.255。
  gateway      指定网关。
  interface    指定路由的接口号码。
  METRIC       指定跃点数,例如目标的成本。

用于目标的所有符号名都可以在网络数据库文件 NETWORKS 中进行查找。用于网关的符号名称都可以在主机名称数据库文件 HOSTS 中进行查找。

如果命令为 PRINT 或 DELETE。目标或网关可以为通配符,(通配符指定为星号“*”),否则可能会忽略网关参数。

如果 Dest 包含一个 * 或 ?,则会将其视为 Shell 模式,并且只打印匹配目标路由。“*”匹配任意字符串,而“?”匹配任意一个字符。示例: 157.*.1、157.*、127.*、*224*。只有在 PRINT 命令中才允许模式匹配。
诊断信息注释:
    无效的 MASK 产生错误,即当 (DEST & MASK) != DEST 时。
    示例: > route ADD 157.0.0.0 MASK 155.0.0.0 157.55.80.1 IF 1  路由添加失败: 指定的掩码参数无效。(Destination & Mask) != Destination。

示例:

    > route PRINT
    > route PRINT -4
    > route PRINT -6
    > route PRINT 157*          .... 只打印那些匹配  157* 的项

    > route ADD 157.0.0.0 MASK 255.0.0.0  157.55.80.1 METRIC 3 IF 2
             destination^      ^mask      ^gateway     metric^    ^ Interface^
      如果未给出 IF,它将尝试查找给定网关的最佳接口。
    > route ADD 3ffe::/32 3ffe::1

    > route CHANGE 157.0.0.0 MASK 255.0.0.0 157.55.80.5 METRIC 2 IF 2

CHANGE 只用于修改网关和/或跃点数。

    > route DELETE 157.0.0.0
    > route DELETE 3ffe::/32


 


CMD 命令PowerShell 命令IP 地址管理 中的功能对比表格。表格按照不同的 IP 地址管理功能分类,以帮助理解两者的差异和应用场景。

功能 CMD 命令 PowerShell 命令
查看 IP 地址 ipconfig Get-NetIPAddress
查看所有网络接口信息 ipconfig /all Get-NetAdapter
查看特定网络接口的 IP 配置 ipconfig 或 ipconfig /all 后跟接口名称 Get-NetIPAddress -InterfaceAlias "Ethernet"
查看 DNS 配置 ipconfig /all Get-DnsClientServerAddress
查看路由表 route print Get-NetRoute
获取默认网关 ipconfig(查找默认网关字段) Get-NetIPAddress
设置静态 IP 地址 netsh interface ipv4 set address name="Ethernet" static <IP> <Subnet> <Gateway> New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress <IP> -PrefixLength <SubnetPrefixLength> -DefaultGateway <Gateway>
设置动态 IP 地址 netsh interface ipv4 set address name="Ethernet" source=dhcp Set-NetIPInterface -InterfaceAlias "Ethernet" -Dhcp Enabled
设置静态 DNS 服务器 netsh interface ipv4 set dns name="Ethernet" static <DNS> Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses <DNS>
设置 DNS 服务器(自动) netsh interface ipv4 set dns name="Ethernet" source=dhcp Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ResetServerAddresses
更改子网掩码 netsh interface ipv4 set address name="Ethernet" static <IP> <Subnet> <Gateway> New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress <IP> -PrefixLength <SubnetPrefixLength> -DefaultGateway <Gateway>
禁用网络适配器 netsh interface set interface "Ethernet" admin=disable Disable-NetAdapter -Name "Ethernet"
启用网络适配器 netsh interface set interface "Ethernet" admin=enable Enable-NetAdapter -Name "Ethernet"
释放 IP 地址 ipconfig /release Release-NetIPAddress -InterfaceAlias "Ethernet"
续租 IP 地址 ipconfig /renew Renew-NetIPAddress -InterfaceAlias "Ethernet"
查看并管理本地路由 route print / route add / route delete New-NetRoute / Remove-NetRoute / Get-NetRoute
查看或设置接口的网卡地址 ipconfig /all (手动查看 MAC 地址) Get-NetAdapter
配置 IPv6 地址 netsh interface ipv6 set address name="Ethernet" static <IPv6> New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress <IPv6> -PrefixLength <PrefixLength>
查看当前活动连接的 IP 地址 netstat Get-NetTCPConnection
显示/查看 ARP 缓存 arp -a Get-NetNeighbor
查看和配置端口转发规则(NAT) netsh interface portproxy show all New-NetNat / Get-NetNat / Remove-NetNat
查看接口的 DNS 配置 netsh interface ipv4 show dns Get-DnsClientServerAddress

对比说明:

  1. 查看 IP 地址和配置信息

    • CMD 使用 ipconfig 查看本地 IP 配置,查看简单信息时比较直观。
    • PowerShell 使用 Get-NetIPAddress,可以筛选、格式化输出更详细的信息,并支持更复杂的查询与自动化。
  2. 设置 IP 地址

    • 在 CMD 中,使用 netsh 来手动设置静态或动态 IP 地址。
    • 在 PowerShell 中,使用 New-NetIPAddress 或 Set-NetIPInterface,具有更高的灵活性,并且可以以脚本方式批量管理。
  3. DNS 配置管理

    • CMD 使用 netsh 配置 DNS 服务器。
    • PowerShell 使用 Set-DnsClientServerAddress,并且支持自动恢复为动态 DNS 配置(-ResetServerAddresses)。
  4. 网络适配器管理

    • CMD 使用 netsh 控制网络适配器的启用和禁用。
    • PowerShell 使用 Enable-NetAdapter 和 Disable-NetAdapter,同样可以实现这一功能,并且支持其他网络管理功能。
  5. IP 地址释放和续租

    • 在 CMD 中使用 ipconfig /release 和 ipconfig /renew 命令。
    • PowerShell 使用 Release-NetIPAddress 和 Renew-NetIPAddress,提供更大的脚本化和自动化能力。
  6. 路由和 ARP 配置

    • CMD 使用 route 命令来管理路由和查看 ARP 缓存。
    • PowerShell 使用 Get-NetRoute 和 Get-NetNeighbor 查看路由和 ARP 缓存,支持更复杂的网络配置。
  7. 接口和网卡地址管理

    • CMD 使用 ipconfig /all 查看接口和 MAC 地址。
    • PowerShell 提供了 Get-NetAdapter 和 Get-NetAdapter | Select-Object -Property MacAddress 等命令,能够更方便地管理接口和查看 MAC 地址。

 

  • CMD 适用于快速查看和修改基本的网络配置,特别是对于老旧的脚本或命令行任务,操作简单直接。
  • PowerShell 提供了更多功能和灵活性,支持脚本化管理,适用于更复杂的网络管理任务,尤其在大型企业环境中非常有用。

在CMD命令行中,你可以使用以下命令来查看和配置端口转发规则(NAT,网络地址转换):

1. 查看端口转发规则

Windows 本身并不直接提供通过命令行查看端口转发的简单方法,但你可以通过 netsh 命令来检查 NAT 相关配置。

使用以下命令来查看当前的端口转发规则:

bash
netsh interface portproxy show all

这将列出所有配置的端口转发规则。

2. 配置端口转发规则

如果你想要配置端口转发,可以使用 netsh 命令来添加规则。基本的命令格式如下:

bash
netsh interface portproxy add v4tov4 listenaddress=<本地IP地址> listenport=<本地端口> connectaddress=<目标IP地址> connectport=<目标端口>
  • <本地IP地址>:指定本地监听的IP地址。
  • <本地端口>:指定本地监听的端口。
  • <目标IP地址>:指定目标服务器的IP地址。
  • <目标端口>:指定目标服务器的端口。

例如,如果你想将本地端口 8080 的请求转发到目标地址 192.168.1.100 的 80 端口,你可以使用如下命令:

bash
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=8080 connectaddress=192.168.1.100 connectport=80

3. 删除端口转发规则

如果你需要删除某个端口转发规则,可以使用:

bash
netsh interface portproxy delete v4tov4 listenaddress=<本地IP地址> listenport=<本地端口>

例如,删除端口 8080 的转发规则:

bash
netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=8080

这些命令可以帮助你在 Windows 系统中查看和配置端口转发(NAT)规则。如果你需要更复杂的网络配置,可能需要使用第三方软件或通过路由器进行设置。


 

posted @ 2024-12-30 14:52  suv789  阅读(209)  评论(0)    收藏  举报