如何使用 PowerShell 進行 traceroute?
traceroute 用於確定在請求時資料包經過的路徑。在命令提示符中,該實用程式稱為 tracert,我們還可以使用該實用程式來追蹤網路資料包。例如,
PS C:\> tracert google.com Tracing route to google.com [216.58.203.142] over a maximum of 30 hops: 1 1 ms 1 ms 1 ms 192.168.0.1 2 2 ms 2 ms 2 ms 45.114.51.246 3 8 ms 4 ms 4 ms 103.210.200.141 4 21 ms * * 10.10.125.29 5 6 ms 6 ms 6 ms 72.14.196.213 6 14 ms 26 ms 25 ms 108.170.248.161 7 11 ms 7 ms 6 ms 209.85.248.27 8 6 ms 6 ms 6 ms bom05s10-in-f142.1e100.net [216.58.203.142] Trace complete.
上面的示例表明資料包經過 8 箇中轉跳才能解析目標地址。
我們還可以對本地伺服器使用上述實用程式。
PS C:\Users\Administrator> tracert AD Tracing route to AD.automationlab.local [192.168.0.200] over a maximum of 30 hops: 1 <1 ms <1 ms <1 ms AD [192.168.0.200] Trace complete.
確定網路資料包路徑的另一種方法是使用支援 TraceRoute 引數的 Test-NetConnection 命令。
PS C:\> Test-NetConnection -ComputerName google.com -TraceRoute ComputerName : google.com RemoteAddress : 172.217.167.174 InterfaceAlias : Ethernet0 SourceAddress : 192.168.0.200 PingSucceeded : True PingReplyDetails (RTT) : 5 ms TraceRoute : 192.168.0.1 45.114.51.246 0.0.0.0 0.0.0.0 72.14.196.213 108.170.248.161 108.170.232.203 172.217.167.174
這是一個高階實用程式,我們還可以設定要經過的最大跳數。例如,
PS C:\> Test-NetConnection -ComputerName google.com -TraceRoute -Hops 2 WARNING: Trace route to destination 172.217.167.174 did not complete. Trace terminated :: 45.114.51.246 ComputerName : google.com RemoteAddress : 172.217.167.174 InterfaceAlias : Ethernet0 SourceAddress : 192.168.0.200 PingSucceeded : True PingReplyDetails (RTT) : 6 ms TraceRoute : 192.168.0.1 45.114.51.246
若要僅獲取 traceroute 跳轉,可以選擇 TraceRoute 引數。
Test-NetConnection -ComputerName google.com -TraceRoute | Select -ExpandProperty TraceRoute
廣告