如何使用PowerShell跟踪路由?

Traceroute是确定希望在请求时通过数据包的方式。在命令提示符下,该实用程序称为tracert,我们也可以使用该实用程序来跟踪网络数据包。例如,

PS C:\> tracert google.com
Tracing route togoogle.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 -ComputerNamegoogle.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 -ComputerNamegoogle.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 -ComputerNamegoogle.com-TraceRoute | Select -ExpandProperty
TraceRoute