在 Windows 命令行中,并没有一个叫做 netsh neighbor 的直接命令。“网络邻居”这个概念在现代 Windows 中主要对应 网络发现 和 ARP (地址解析协议) 缓存。

netsh 命令可以通过 netsh interface 和 netsh lan 等上下文来管理和配置网络接口、网络位置以及相关的发现功能,这间接控制了“网络邻居”的行为。
下面我将分几个部分来详细说明:
查看“邻居” - ARP 缓存 (最接近“邻居”概念)
ARP (Address Resolution Protocol) 负责将 IP 地址解析为物理 MAC 地址,你的电脑 ARP 缓存里记录的,就是与你处于同一局域网、有过通信的“邻居”设备。
使用 arp 命令 (最直接)
这是查看 ARP 缓存最简单、最常用的命令。

# 查看当前 ARP 缓存表 arp -a # 查看特定接口的 ARP 缓存 (例如以太网) # 你可以通过 ipconfig /all 查看接口描述 arp -a <接口IP地址>
输出示例:
接口: 192.168.1.100 --- 0x3
Internet 地址 物理地址 类型
192.168.1.1 00-1a-2b-3c-4d-5e 动态
192.168.1.101 aa-bb-cc-dd-ee-ff 动态
Internet 地址:邻居的 IP 地址。物理地址:邻居的 MAC 地址。类型:动态是通过 ARP 协议自动学习和添加的,静态是手动添加的,接口是本机地址。
使用 netsh interface show neighbors (较新版本)
在较新的 Windows 版本 (如 Windows 10/11) 中,netsh 增加了一个 show neighbors 命令,功能与 arp -a 类似,但信息更丰富。
# 查看所有接口的邻居信息 netsh interface show neighbors
输出示例:
There are 1 interfaces with neighbors on the system.
Interface name : 以太网
State : connected
Address type : ipv4
Neighbor address : 192.168.1.1
Interface Luid : 4000000000000001
Interface Index : 12
Neighbor Luid : 0000000000000002
Neighbor Address : 00-1a-2b-3c-4d-5e
Type : dynamic
Reachability state : reachable
Transitions : 1
这个命令提供了更详细的接口状态和邻居可达性信息。

配置“网络邻居”可见性 - 网络发现
“网络邻居”能否被看到,取决于 网络发现 和 文件和打印机共享 这两个核心功能是否开启。netsh 可以用来配置这些功能。
进入 netsh 上下文
你需要进入 netsh 的特定上下文。
# 进入网络接口配置上下文 netsh interface
查看和配置网络发现
在 netsh interface> 提示符下,可以使用以下命令:
# 查看当前网络配置文件(域、专用、公用) show interface # 查看特定接口的发现设置 (例如以太网) # 你需要先进入接口配置模式 set interface name="以太网" enable=enable # 进入后,可以查看和配置发现 # show discovery # set discovery mode=enable|disable
更直接的方法:使用 netsh lan 配置文件
对于有线和无线网络,netsh lan 提供了更精细的控制。
# 进入 LAN 配置上下文 netsh lan # 显示所有配置文件(域、专用、公用) show profiles # 切换到特定配置文件,专用” set profile name="专用" type=domain|private|public # 在特定配置文件下,开启或关闭网络发现和文件共享 # 假设我们在“专用”配置文件下 set profile name="专用" networkdiscovery=enable|disable set profile name="专用" fileandprintersharing=enable|disable
参数说明:
networkdiscovery=enable:开启网络发现,开启后,你的设备才可能出现在其他人的“网络邻居”列表中,你才能看到其他设备。fileandprintersharing=enable:开启文件和打印机共享,这是网络发现的基础,通常需要同时开启。
netsh 命令总结与常见场景
| 目的 | 命令 | 说明 |
|---|---|---|
| 查看当前邻居 (ARP) | arp -a |
最直接、最常用的查看方法,显示 IP 与 MAC 的对应关系。 |
| 查看邻居 (详细信息) | netsh interface show neighbors |
新版 Windows 命令,提供接口状态和邻居可达性等额外信息。 |
| 进入网络配置 | netsh interface |
进入网络接口的配置上下文。 |
| 查看网络配置文件 | netsh lan show profiles |
查看当前的网络位置(域、专用、公用)。 |
| 开启网络发现 | netsh lan set profile name="专用" networkdiscovery=enable |
让你的设备在局域网中被可见。 |
| 关闭网络发现 | netsh lan set profile name="公用" networkdiscovery=disable |
增强安全性,防止设备在公共网络中被发现。 |
| 开启文件共享 | netsh lan set profile name="专用" fileandprintersharing=enable |
网络发现和文件共享通常需要同时开启才能正常工作。 |
常见问题排查
问题:为什么我的电脑在“网络邻居”里看不到其他设备?
-
检查网络发现和文件共享是否开启:
- 打开“控制面板” -> “网络和共享中心” -> 点击你当前连接的网络(如“以太网”)。
- 点击“属性”,确保勾选了“启用网络发现”和“启用文件和打印机共享”。
- 或者使用上面的
netsh命令检查并开启。
-
检查网络位置:
- 确保你的网络被识别为“专用”网络,Windows 默认在“公用”网络下会关闭网络发现以增强安全性。
- 你可以在“网络和共享中心”更改网络位置类型。
-
检查防火墙:
Windows Defender 防火墙可能会阻止网络发现,请确保“文件和打印机共享”相关规则在防火墙中是允许的。
-
检查工作组:
- 要在“网络邻居”中看到其他计算机,它们通常需要在同一个工作组下,可以在“系统属性”中查看和修改。
-
检查服务状态:
- 确保以下服务正在运行:
- Function Discovery Provider Host
- Function Discovery Resource Publication
- SSDP Discovery
- UPnP Device Host
- 可以在“服务” (services.msc) 中找到并启动它们。
- 确保以下服务正在运行:
虽然 netsh 没有一个直接叫 neighbor 的命令,但通过 arp -a 查看邻居列表,以及通过 netsh lan 和 netsh interface 配置网络发现功能,你可以完全控制和管理“网络邻居”相关的所有核心设置,对于日常排查和高级脚本管理,netsh 是一个非常强大的工具。
