首页/系统/Windows 运维速查/Get-NetNeighbor 邻居表

Get-NetNeighbor 邻居表

PowerShell 版 ARP/邻居表:结构化查看同链路设备映射,可按状态过滤(Reachable/Stale)。

Windows 运维速查系统更新于 2026-10-13

Get-NetNeighbor 是什么

Get-NetNeighbor 是 PowerShell 版的邻居表(ARP 表)查询命令,把同链路设备的 IP 与 MAC 对应关系以对象形式列出来,还可以按状态过滤。相比 arp -a 的纯文本输出,它的结果能直接接 Where-Object 做筛选和计数,排查「同网段设备不通」「改过网关仍走旧 MAC」这类问题时效率高得多。

基本信息

适用平台Windows 8 / Server 2012 以上 PowerShell
查询全部Get-NetNeighbor
按地址查Get-NetNeighbor -IPAddress 10.0.0.1
按状态查-State Reachable / Permanent
配套命令Remove-NetNeighbor 清理、Set-NetNeighbor 改绑定

典型使用场景

  • 确认某个 IP 对应的 MAC,核对交换机端口下挂的是哪台设备
  • 清理错误邻居项,解决改过网关后仍走旧 MAC 的问题
  • 筛出 Reachable 状态的条目,快速看当前活跃的同链路设备
  • 配合 Get-NetIPConfiguration 定位同网段通信异常的网卡
  • 在虚拟机或容器环境里按网卡过滤,排除大量冗余条目干扰
  • 发现同一 IP 出现多个 MAC 时排查地址冲突
  • 资产盘点时导出 IP 与 MAC 对照表,交给网管核对交换机学习记录

常用示例

常用示例
Get-NetNeighbor -AddressFamily IPv4 | Where-Object State -eq Reachable   # 只看活跃条目
Get-NetNeighbor -IPAddress 10.0.0.1 | Select-Object IPAddress, LinkLayerAddress, State
arp -a                                                    # 传统命令对照
Remove-NetNeighbor -IPAddress 10.0.0.1 -Confirm:$false    # 清理单条
# 静态绑定(谨慎,改错会造成误路由):
New-NetNeighbor -IPAddress 10.0.0.9 -LinkLayerAddress 00-11-22-33-44-55 -State Permanent

输出字段读法

字段含义正常与异常
IPAddress邻居的 IP 地址通常是同网段地址或网关
LinkLayerAddress对应的 MAC 地址全 0 或来源不明需警惕
StateReachable/Stale/PermanentStale 属正常待验证状态
InterfaceAlias条目所属网卡多网卡机器必须确认是哪张
State 为 Stale 只表示条目需要重新验证,不代表故障;实际通信时会自动刷新为 Reachable,判断时要结合最近的通信情况,而不是单看状态字段。
虚拟网卡、WSL 与容器网络会产生大量邻居条目,直接看全表很容易迷失方向;先按 InterfaceAlias 或地址段过滤,再看具体映射关系。条目由系统按需老化清理,不需要手工维护,除非确实存在配错后长期生效的静态项。

易错点

  • 清理邻居表后首次通信出现短暂时延:需要重新做地址解析,属正常现象而非丢包
  • 把静态绑定当成安全措施:MAC 可以伪造,静态项只防误配不防攻击
  • 在多网卡机器上只看 IP 不看所属网卡:容易把另一张网卡的条目误判为地址冲突
  • 对生产网关做 Remove-NetNeighbor:地址解析会短暂中断,应确认业务影响后再操作
  • 拿邻居表当在线设备清单:表里可能残留已下线设备的旧条目,需结合 Ping 或交换机记录核对

数据来源与参考

  • Microsoft Learn:Get-NetNeighbor

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌