PowerShell中常用的网络命令: 等效IPConfig、PING 和 NSLookup

higheels 2020-07-27

如何你经常使用 Windows,或多或少可能在 cmd 中使用过 IPConfig、Ping 和 NSLookup 这 3 个非常常用的网络命令,其实在 Powershell 中也有等效的网络命令可供使用。

IPConfig

IPConfig 命令用来查看 Windows 中每个网卡的 TCP/IP 配置信息,在 PowerShell 中有如下 2 条命令与其功能类似:

PS C:\> Get-NetIPConfiguration  | select InterfaceIndex, InterfaceAlias, IPv4Address, InterfaceDescription
InterfaceIndex InterfaceAlias             IPv4Address         InterfaceDescription
-------------- --------------             -----------         --------------------
            23 vEthernet (Default Switch) {XXX.XXX.XXX.XXX}   Hyper-V Virtual Ethernet Adapter
             3 Ethernet 3                 {XXX.XXX.XXX.XXX }  Cisco AnyConnect Secure Mobility Client Virtual Miniport Adapter for Windows x64
             8 Wi-Fi                      {192.168.3.8}       Intel(R) Dual Band Wireless-AC 8265
            14 Ethernet                   {XXX.XXX.XXX.XXX}   Intel(R) Ethernet Connection (4) I219-LM


PS C:\> Get-NetIPAddress -AddressFamily IPv4 | select InterfaceIndex,InterfaceAlias, IPv4Address,  PrefixLength
InterfaceIndex InterfaceAlias              IPv4Address     PrefixLength
-------------- --------------              -----------     ------------
            23 vEthernet (Default Switch)  XXX.XXX.XXX.XXX           28
             3 Ethernet 3                  XXX.XXX.XXX.XXX           19
            11 Local Area Connection* 2    XXX.XXX.XXX.XXX           16
             9 Local Area Connection* 1    XXX.XXX.XXX.XXX           16
            14 Ethernet                    XXX.XXX.XXX.XXX           16
             8 Wi-Fi                       192.168.3.8               24
             1 Loopback Pseudo-Interface 1 127.0.0.1                  8

Get-NetIPConfiguration 可以直接获取当前计算机中每块网卡的TCP/IP配置信息,Get-NetIPAddress 用于获取当前计算机的所有IP地址配置信息。

Ping

PowerShell 可以使用 Test-ConnectionTest-NetConnection 获取与 Ping 命令等效的网络连接诊断信息,它们可以在 DNS 查询到 IP 地址之后进行 TCP 连接测试,并输出测试结果。Test-NetConnection 还可以使用 -TraceRoute 参数获取路由的路径和跳数,该功能相当于 tracert 命令。

PS C:\> Test-Connection www.baidu.com | ft -AutoSize

Source     Destination   IPV4Address   IPV6Address Bytes Time(ms)
------     -----------   -----------   ----------- ----- --------
XXXXXXXXXX www.baidu.com 180.101.49.12             32    12
XXXXXXXXXX www.baidu.com 180.101.49.12             32    12
XXXXXXXXXX www.baidu.com 180.101.49.12             32    12
XXXXXXXXXX www.baidu.com 180.101.49.12             32    26


PS C:\> Test-NetConnection www.baidu.com

ComputerName           : www.baidu.com
RemoteAddress          : 180.101.49.11
InterfaceAlias         : Wi-Fi
SourceAddress          : 192.168.3.8
PingSucceeded          : True
PingReplyDetails (RTT) : 12 ms

PS C:\> Test-NetConnection www.baidu.com -TraceRoute

ComputerName           : www.baidu.com
RemoteAddress          : 180.101.49.11
InterfaceAlias         : Wi-Fi
SourceAddress          : 192.168.3.8
PingSucceeded          : True
PingReplyDetails (RTT) : 11 ms
TraceRoute             : 192.168.3.1
                         192.168.1.1
                         0.0.0.0
                         61.152.11.1
                         0.0.0.0
                         0.0.0.0
                         58.213.94.82
                         0.0.0.0
                         58.213.96.110
                         0.0.0.0
                         0.0.0.0
                         0.0.0.0
                         0.0.0.0
                         180.101.49.11

NSLookup

Powershell 中可以使用 Resolve-DnsName 来等效 NSLookup 进行 DNS 名称查询,与 NSLookup 交互式使用方法不同的是,Resolve-DnsName 可以直接跟像 -Server 这样的参数来指定要查询的 DNS 服务器,非常方便。

PS C:\> Resolve-DnsName www.baidu.com

Name                           Type   TTL   Section    NameHost
----                           ----   ---   -------    --------
www.baidu.com                  CNAME  698   Answer     www.a.shifen.com

Name       : www.a.shifen.com
QueryType  : A
TTL        : 163
Section    : Answer
IP4Address : 180.101.49.11


Name       : www.a.shifen.com
QueryType  : A
TTL        : 163
Section    : Answer
IP4Address : 180.101.49.12


Name                   : a.shifen.com
QueryType              : SOA
TTL                    : 110
Section                : Authority
NameAdministrator      : baidu_dns_master.baidu.com
SerialNumber           : 2007260007
TimeToZoneRefresh      : 5
TimeToZoneFailureRetry : 5
TimeToExpiration       : 2592000
DefaultTTL             : 3600



PS C:\> Resolve-DnsName www.baidu.com -Server 8.8.8.8

Name                           Type   TTL   Section    NameHost
----                           ----   ---   -------    --------
www.baidu.com                  CNAME  272   Answer     www.a.shifen.com
www.a.shifen.com               CNAME  272   Answer     www.wshifen.com

Name       : www.wshifen.com
QueryType  : A
TTL        : 162
Section    : Answer
IP4Address : 104.193.88.123


Name       : www.wshifen.com
QueryType  : A
TTL        : 162
Section    : Answer
IP4Address : 104.193.88.77


Name                   : wshifen.com
QueryType              : SOA
TTL                    : 243
Section                : Authority
NameAdministrator      : baidu_dns_master.baidu.com
SerialNumber           : 2007230001
TimeToZoneRefresh      : 60
TimeToZoneFailureRetry : 30
TimeToExpiration       : 2592000
DefaultTTL             : 3600

更多参考

  1. Basic networking powershell cmdlets cheatsheet to replace netsh, ipconfig, nslookup and more
  2. Superping – powershell test-netconnection

相关推荐