PowerShell Get-NetRoute
最后修改:2025 年 2 月 15 日
在本文中,我们将介绍 PowerShell 中的 Get-NetRoute cmdlet。此 cmdlet 从网络堆栈检索 IP 路由信息。它显示流量如何在网络接口之间进行路由。
网络路由基础知识
网络路由定义了网络流量到达目的地所经过的路径。路由包含目标网络、下一跳和接口索引。Get-NetRoute cmdlet 显示 IP 路由表。此表根据数据包的目标 IP 确定数据包的转发位置。
Get-NetRoute 的基本用法
使用 Get-NetRoute 的最简单方法是不带任何参数。这将列出路由表中的所有 IP 路由。输出包括目标前缀、下一跳和接口索引。每条路由都表示为一个 NetRoute 对象。
Get-NetRoute
此命令从 IP 路由表中检索所有路由。输出显示目标网络、下一跳和接口指标。默认路由显示为 0.0.0.0/0。
按目标前缀过滤路由
您可以使用 -DestinationPrefix 参数按目标前缀过滤路由。这将显示与特定网络地址匹配的路由。支持使用通配符进行部分匹配。这有助于排除特定网络的路由问题。
Get-NetRoute -DestinationPrefix "192.168.*"
此命令返回 192.168.x.x 网络的所有路由。星号用作通配符,匹配任何八位字节值。这对于查看本地网络路由很有用。
PS C:\> .\route2.ps1
ifIndex DestinationPrefix NextHop RouteMetric PolicyStore
------- ----------------- ------ ------------ -----------
15 192.168.1.0/24 0.0.0.0 256 ActiveStore
15 192.168.1.15/32 0.0.0.0 256 ActiveStore
获取特定接口的路由
可以使用 -InterfaceIndex 参数按网络接口过滤路由。每个接口都有一个唯一的索引号。这将显示特定网络适配器的路由信息。使用 Get-NetAdapter 查找接口索引。
Get-NetRoute -InterfaceIndex 15
此命令返回与接口索引 15 相关的所有路由。输出显示了流量如何通过此特定网络适配器进行路由。
查看详细的路由信息
可以使用 Format-List 更改默认表格格式,以获取详细的路由信息。这将显示路由对象的所有可用属性。您还可以使用 Select-Object 选择特定属性。
Get-NetRoute -DestinationPrefix "0.0.0.0/0" | Format-List *
此命令以列表格式显示默认路由的所有属性。输出包括路由指标、策略和协议信息。
按路由指标过滤路由
您可以使用 Where-Object 根据路由的指标值过滤路由。当存在多个路径时,指标决定了路由的优先级。较低的指标表示首选路由。这有助于分析路由决策。
Get-NetRoute | Where-Object { $_.RouteMetric -lt 50 }
此命令列出指标小于 50 的路由。$_ 变量代表管道中的当前路由。根据需要调整阈值以供分析。
来源
在本文中,我们介绍了 PowerShell 中的 Get-NetRoute cmdlet。
作者
列出 所有 PowerShell 教程。