higheels 2020-07-27
如何你经常使用 Windows,或多或少可能在 cmd 中使用过 IPConfig、Ping 和 NSLookup 这 3 个非常常用的网络命令,其实在 Powershell 中也有等效的网络命令可供使用。
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地址配置信息。
PowerShell 可以使用 Test-Connection 和 Test-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
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