
PowerShell альтернативы сетевым командам: PING, IPCONFIG, NSLOOKUP, ROUTE, TRACERT, NETSTAT
19.05.2015Оглавление
Устранение неисправности сети — часть жизни и работы системного администратора. Постоянно необходимо проверять доступность сетевого узла в сети, правильность настроек DNS, оценить задержки при передаче данных и т.п.
Все системные администраторы регулярно используют свои любимые команды — ping, ipconfig и другие.
В Windows PowerShell имеется множество командлетов для работы с сетью. Попробуйте выполнить команду
Но гораздо важнее знания всех команд из появившего списка — знание альтернатив своим привычным командам. Тогда, сочетая их и новые сетевые командлеты PowerShell вы достигните удивительного результата.
IPCONFIG в PowerShell
Описание: эта команда имеет множество опций, но чаще всего используется просто для того, чтобы показать IP-адрес, маску подсети и основной шлюз для каждого сетевого адаптера в системе.
В PowerShell: Get-NetIPConfiguration or Get-NetIPAddress
Пример командных строк:
- Get-NetIPConfiguration
- Get-NetIPAddress | Sort InterfaceIndex | FT InterfaceIndex, InterfaceAlias, AddressFamily, IPAddress, PrefixLength -Autosize
- Get-NetIPAddress | ? AddressFamily -eq IPv4 | FT –AutoSize
- Get-NetAdapter Wi-Fi | Get-NetIPAddress | FT -AutoSize
Примеры вывода команд:
PS C:> Get-NetIPConfiguration
InterfaceAlias : Wi-Fi
InterfaceIndex : 3
InterfaceDescription : Dell Wireless 1703 802.11b|g|n (2.4GHz)
NetProfile.Name : HomeWifi
IPv6Address : fded:b22c:44c4:1:88f2:9970:4082:4118
IPv4Address : 192.168.1.2
IPv6DefaultGateway :
IPv4DefaultGateway : 192.168.1.1
DNSServer : 192.168.1.1
InterfaceAlias : Bluetooth Network Connection
InterfaceIndex : 6
InterfaceDescription : Bluetooth Device (Personal Area Network)
NetAdapter.Status : Disconnected
InterfaceAlias : Ethernet
InterfaceIndex : 4
InterfaceDescription : Realtek PCIe GBE Family Controller
NetAdapter.Status : Disconnected
PS C:> Get-NetIPAddress | Sort InterfaceIndex | FT InterfaceIndex, InterfaceAlias, AddressFamily, IPAddress, PrefixLength –Autosize
InterfaceIndex InterfaceAlias AddressFamily IPAddress PrefixLength ————— ————— ————- ——— ——- 1 Loopback Pseudo-Interface 1 IPv6 ::1 128 1 Loopback Pseudo-Interface 1 IPv4 127.0.0.1 8 3 Wi-Fi IPv6 fe80::88f2:9970:4082:4118%3 64 3 Wi-Fi IPv6 fded:b22c:44c4:1:f188:1e45:58e3:9242 128 3 Wi-Fi IPv6 fded:b22c:44c4:1:88f2:9970:4082:4118 64 3 Wi-Fi IPv4 192.168.1.2 24 4 Ethernet IPv6 fe80::ce6:97c9:ae58:b393%4 64 4 Ethernet IPv4 169.254.179.147 16 6 Bluetooth Network Connection IPv6 fe80::2884:6750:b46b:cec4%6 64 6 Bluetooth Network Connection IPv4 169.254.206.196 16 7 Local Area Connection* 3 IPv6 fe80::f11f:1051:2f3d:882%7 64 7 Local Area Connection* 3 IPv4 169.254.8.130 16 8 Teredo Tunneling Pseudo-Interface IPv6 2001:0:5ef5:79fd:1091:f90:e7e9:62f0 64 8 Teredo Tunneling Pseudo-Interface IPv6 fe80::1091:f90:e7e9:62f0%8 64 9 isatap.{024820F0-C990-475F-890B-B42EA24003F1} IPv6 fe80::5efe:192.168.1.2%9 128
PS C:> Get-NetIPAddress | ? AddressFamily -eq IPv4 | FT –AutoSize
ifIndex IPAddress PrefixLength PrefixOrigin SuffixOrigin AddressState PolicyStore ——- ——— ———— ———— ———— ———— ———— 7 169.254.8.130 16 WellKnown Link Tentative ActiveStore 6 169.254.206.196 16 WellKnown Link Tentative ActiveStore 3 192.168.1.2 24 Dhcp Dhcp Preferred ActiveStore 1 127.0.0.1 8 WellKnown WellKnown Preferred ActiveStore 4 169.254.179.147 16 WellKnown Link Tentative ActiveStore
PS C:> Get-NetAdapter Wi-Fi | Get-NetIPAddress | FT -AutoSize
ifIndex IPAddress PrefixLength PrefixOrigin SuffixOrigin AddressState PolicyStore ——- ——— ———— ———— ———— ———— ———— 3 fe80::88f2:9970:4082:4118%3 64 WellKnown Link Preferred ActiveStore 3 fded:b22c:44c4:1:f188:1e45:58e3:9242 128 RouterAdvertisement Random Preferred ActiveStore 3 fded:b22c:44c4:1:88f2:9970:4082:4118 64 RouterAdvertisement Link Preferred ActiveStore 3 192.168.1.2 24 Dhcp Dhcp Preferred ActiveStore
PING в PowerShell
Описание: проверяет возможность доступа к определенному узлу. Используется для проверки на живость, но также используется для измерения задержек в сети.
В PowerShell: Test-NetConnection
Пример командных строк:
Test-NetConnection www.microsoft.com
Test-NetConnection -ComputerName www.microsoft.com -InformationLevel Detailed
Test-NetConnection -ComputerName www.microsoft.com | Select -ExpandProperty PingReplyDetails | FT Address, Status, RoundTripTime
1..10 | % { Test-NetConnection -ComputerName www.microsoft.com -RemotePort 80 } | FT -AutoSize
Примеры вывода команд:
PS C:> Test-NetConnection www.microsoft.com
ComputerName : www.microsoft.com
RemoteAddress : 104.66.197.237
InterfaceAlias : Wi-Fi
SourceAddress : 192.168.1.2
PingSucceeded : True
PingReplyDetails (RTT) : 22 ms
PS C:> Test-NetConnection -ComputerName www.microsoft.com -InformationLevel Detailed
ComputerName : www.microsoft.com
RemoteAddress : 104.66.197.237
AllNameResolutionResults : 104.66.197.237
2600:1409:a:396::2768
2600:1409:a:39b::2768
InterfaceAlias : Wi-Fi
SourceAddress : 192.168.1.2
NetRoute (NextHop) : 192.168.1.1
PingSucceeded : True
PingReplyDetails (RTT) : 14 ms
PS C:> Test-NetConnection -ComputerName www.microsoft.com | Select -ExpandProperty PingReplyDetails | FT Address, Status, RoundTripTime -Autosize
Address Status RoundtripTime ——- —— ————- 104.66.197.237 Success 22
PS C:> 1..10 | % { Test-NetConnection -ComputerName www.microsoft.com -RemotePort 80 } | FT -AutoSize
ComputerName RemotePort RemoteAddress PingSucceeded PingReplyDetails (RTT) TcpTestSucceeded ———— ———- ————- ————- ———————- —————- www.microsoft.com 80 104.66.197.237 True 17 ms True www.microsoft.com 80 104.66.197.237 True 16 ms True www.microsoft.com 80 104.66.197.237 True 15 ms True www.microsoft.com 80 104.66.197.237 True 18 ms True www.microsoft.com 80 104.66.197.237 True 20 ms True www.microsoft.com 80 104.66.197.237 True 20 ms True www.microsoft.com 80 104.66.197.237 True 20 ms True www.microsoft.com 80 104.66.197.237 True 20 ms True www.microsoft.com 80 104.66.197.237 True 15 ms True www.microsoft.com 80 104.66.197.237 True 13 ms True
NSLOOKUP в PowerShell
Описание: Поиск DNS сервера. В основном используется, чтобы найти IP-адрес для данного имени DNS (или наоборот). Есть много, много вариантов использования.
В PowerShell: Resolve-DnsName
Пример командных строк:
Resolve-DnsName www.microsoft.com
Resolve-DnsName microsoft.com -type SOA
Resolve-DnsName microsoft.com -Server 8.8.8.8 –Type A
Примеры вывода команд:
PS C:> Resolve-DnsName www.microsoft.com
Name Type TTL Section NameHost —- —- — ——- ——— www.microsoft.com CNAME 6 Answer toggle.www.ms.akadns.net toggle.www.ms.akadns.net CNAME 6 Answer www.microsoft.com-c.edgekey.net www.microsoft.com-c.edgekey.ne CNAME 6 Answer www.microsoft.com-c.edgekey.net.globalredir.akadns.net t www.microsoft.com-c.edgekey.ne CNAME 6 Answer e10088.dspb.akamaiedge.net t.globalredir.akadns.net Name : e10088.dspb.akamaiedge.net QueryType : AAAA TTL : 6 Section : Answer IP6Address : 2600:1409:a:39b::2768 Name : e10088.dspb.akamaiedge.net QueryType : AAAA TTL : 6 Section : Answer IP6Address : 2600:1409:a:396::2768 Name : e10088.dspb.akamaiedge.net QueryType : A TTL : 6 Section : Answer IP4Address : 104.66.197.237
PS C:> Resolve-DnsName microsoft.com -type SOA
Name Type TTL Section PrimaryServer NameAdministrator SerialNumber —- —- — ——- ————- —————— ———— microsoft.com SOA 2976 Answer ns1.msft.net msnhst.microsoft.com 2015041801
PS C:> Resolve-DnsName microsoft.com -Server 8.8.8.8 –Type A
Name Type TTL Section IPAddress —- —- — ——- ——— microsoft.com A 1244 Answer 134.170.188.221 microsoft.com A 1244 Answer 134.170.185.46
ROUTE в PowerShell
Описание: показывает IP-маршруты в данной системе (также используется для добавления и удаления маршрутов)
В PowerShell: Get-NetRoute (а так же New-NetRoute и Remove-NetRoute)
Пример командных строк:
Get-NetRoute -Protocol Local -DestinationPrefix 192.168*
Get-NetAdapter Wi-Fi | Get-NetRoute
Примеры вывода команд:
PS C:WINDOWSsystem32> Get-NetRoute -Protocol Local -DestinationPrefix 192.168*
ifIndex DestinationPrefix NextHop RouteMetric PolicyStore ——- —————— ——- ———— ———— 2 192.168.1.255/32 0.0.0.0 256 ActiveStore 2 192.168.1.5/32 0.0.0.0 256 ActiveStore 2 192.168.1.0/24 0.0.0.0 256 ActiveStore PS C:WINDOWSsystem32> Get-NetAdapter Wi-Fi | Get-NetRoute ifIndex DestinationPrefix NextHop RouteMetric PolicyStore ——- —————— ——- ———— ———— 2 255.255.255.255/32 0.0.0.0 256 ActiveStore 2 224.0.0.0/4 0.0.0.0 256 ActiveStore 2 192.168.1.255/32 0.0.0.0 256 ActiveStore 2 192.168.1.5/32 0.0.0.0 256 ActiveStore 2 192.168.1.0/24 0.0.0.0 256 ActiveStore 2 0.0.0.0/0 192.168.1.1 0 ActiveStore 2 ff00::/8 :: 256 ActiveStore 2 fe80::d1b9:9258:1fa:33e9/128 :: 256 ActiveStore 2 fe80::/64 :: 256 ActiveStore 2 fded:b22c:44c4:1:d1b9:9258:1fa:33e9/128 :: 256 ActiveStore 2 fded:b22c:44c4:1:c025:aa72:9331:442/128 :: 256 ActiveStore 2 fded:b22c:44c4:1::/64 :: 256 ActiveStore
TRACERT в PowerShell
Описание: Трассировка маршрута. Показывает путь IP-пакетов к хосту, включая все узлы между вашим компьютером и хостом.
В PowerShell: Test-NetConnection –TraceRoute
Пример командных строк:
Test-NetConnection www.microsoft.com –TraceRoute
Test-NetConnection outlook.com -TraceRoute | Select -ExpandProperty TraceRoute | % { Resolve-DnsName $_ -type PTR -ErrorAction SilentlyContinue }
Примеры вывода команд:
PS C:> Test-NetConnection www.microsoft.com –TraceRoute
ComputerName : www.microsoft.com
RemoteAddress : 104.66.197.237
InterfaceAlias : Wi-Fi
SourceAddress : 192.168.1.2
PingSucceeded : True
PingReplyDetails (RTT) : 16 ms
TraceRoute : 192.168.1.1
10.0.0.1
TimedOut
68.86.113.181
69.139.164.2
68.85.240.94
68.86.93.165
68.86.83.126
104.66.197.237
PS C:> Test-NetConnection outlook.com -TraceRoute | Select -ExpandProperty TraceRoute | % { Resolve-DnsName $_ -type PTR -ErrorAction SilentlyContinue }
Name Type TTL Section NameHost —- —- — ——- ——— 125.144.85.68.in-addr.arpa PTR 7200 Answer te-0-1-0-10-sur02.bellevue.wa.seattle.comcast.net 142.96.86.68.in-addr.arpa PTR 4164 Answer be-1-sur03.bellevue.wa.seattle.comcast.net 6.164.139.69.in-addr.arpa PTR 2469 Answer be-40-ar01.seattle.wa.seattle.comcast.net 165.93.86.68.in-addr.arpa PTR 4505 Answer be-33650-cr02.seattle.wa.ibone.comcast.net 178.56.167.173.in-addr.arpa PTR 7200 Answer as8075-1-c.seattle.wa.ibone.comcast.net 248.82.234.191.in-addr.arpa PTR 3600 Answer ae11-0.co2-96c-1a.ntwk.msn.net
NETSTAT в PowerShell
Описание: показывает текущие TCP/IP-подключения.
В PowerShell: Get-NetTCPConnection
Пример командных строк:
Get-NetTCPConnection | Group State, RemotePort | Sort Count | FT Count, Name –Autosize
Get-NetTCPConnection | ? State -eq Established | FT –Autosize
Get-NetTCPConnection | ? State -eq Established | ? RemoteAddress -notlike 127* | % { $_; Resolve-DnsName $_.RemoteAddress -type PTR -ErrorAction SilentlyContinue }
Примеры вывода команд:
PS C:> Get-NetTCPConnection | Group State, RemotePort | Sort Count | FT Count, Name -Autosize
Count Name
—— —-
1 SynSent, 9100
1 Established, 40028
1 Established, 65001
1 Established, 27015
1 Established, 5223
1 Established, 49227
1 Established, 49157
1 Established, 49156
1 Established, 12350
1 Established, 49200
2 Established, 5354
2 TimeWait, 5357
2 Established, 80
3 Established, 443
36 Listen, 0
PS C:> Get-NetTCPConnection | ? State -eq Established | FT -Autosize
LocalAddress LocalPort RemoteAddress RemotePort State AppliedSetting ———— ——— ————- ———- —— ————— 127.0.0.1 65001 127.0.0.1 49200 Established Internet 192.168.1.2 59619 91.190.218.57 12350 Established Internet 192.168.1.2 57993 213.199.179.175 40028 Established Internet 192.168.1.2 54334 17.158.28.49 443 Established Internet 192.168.1.2 54320 96.17.8.170 80 Established Internet 192.168.1.2 54319 23.3.105.144 80 Established Internet 192.168.1.2 54147 65.55.68.119 443 Established Internet 192.168.1.2 49257 17.143.162.214 5223 Established Internet 127.0.0.1 49227 127.0.0.1 27015 Established Internet 127.0.0.1 49200 127.0.0.1 65001 Established Internet 192.168.1.2 49197 157.56.98.92 443 Established Internet 127.0.0.1 49157 127.0.0.1 5354 Established Internet 127.0.0.1 49156 127.0.0.1 5354 Established Internet 127.0.0.1 27015 127.0.0.1 49227 Established Internet 127.0.0.1 5354 127.0.0.1 49157 Established Internet 127.0.0.1 5354 127.0.0.1 49156 Established Internet
PS C:> Get-NetTCPConnection | ? State -eq Established | ? RemoteAddress -notlike 127* | % { $_; Resolve-DnsName $_.RemoteAddress -type PTR -ErrorAction SilentlyContinue }
LocalAddress LocalPort RemoteAddress RemotePort State AppliedSetting ———— ——— ————- ———- —— ————— 192.168.1.2 59619 91.190.218.57 12350 Established Internet 192.168.1.2 57993 213.199.179.175 40028 Established Internet 192.168.1.2 54334 17.158.28.49 443 Established Internet 192.168.1.2 54320 96.17.8.170 80 Established Internet Name : 170.8.17.96.in-addr.arpa QueryType : PTR TTL : 86377 Section : Answer NameHost : a96-17-8-170.deploy.akamaitechnologies.com 192.168.1.2 54319 23.3.105.144 80 Established Internet Name : 144.105.3.23.in-addr.arpa QueryType : PTR TTL : 7 Section : Answer NameHost : a23-3-105-144.deploy.static.akamaitechnologies.com 192.168.1.2 54147 65.55.68.119 443 Established Internet Name : 119.68.55.65.in-addr.arpa QueryType : PTR TTL : 850 Section : Answer NameHost : snt404-m.hotmail.com 192.168.1.2 49257 17.143.162.214 5223 Established Internet 192.168.1.2 49197 157.56.98.92 443 Established Internet Name : 92.98.56.157.in-addr.arpa QueryType : PTR TTL : 3600 Section : Answer NameHost : bn1wns1011516.wns.windows.com