下面为你提供一份系统化、适用于运维与网络管理的 ARP 命令详解,重点说明 Windows CMD 中使用 arp -a查看局域网 IP 信息,并补充 ARP 工作机制、常用参数、常见排错场景及局域网扫描增强方案。
一、arp -a 的作用
在 Windows CMD 输入:
arp -a
可以查看当前计算机的 ARP 缓存表(ARP Cache),内容包括:
| 字段 | 含义 |
|---|---|
| Internet Address | 已解析到的 IP 地址 |
| Physical Address | 对应 MAC 地址 |
| Type | 动态(dynamic)或静态(static) |
示例输出:
Interface: 192.168.1.100 --- 0x3
Internet Address Physical Address Type
192.168.1.1 11-22-33-44-55-66 dynamic
192.168.1.8 7c-8a-e1-19-2b-3f dynamic
192.168.1.101 94-de-80-2a-3e-29 dynamic
含义:
- 列出的都是你的主机最近通信过的局域网设备
- ARP 表不会主动列出所有局域网 IP,只会列出已经解析过的 IP
如需主动探索局域网,需要结合 ping 或扫描工具(后面有扩展方案)。
二、ARP 命令介绍(Windows)
在 CMD 输入:
arp /?
可以看到完整帮助信息。
1. 查看 ARP 表
arp -a
按接口查看:
arp -a -N 192.168.1.100
2. 添加 ARP 静态条目
arp -s 192.168.1.10 00-11-22-33-44-55
用途:
- 防止 ARP 欺骗攻击
- 保持固定的 MAC 映射(如打印机)
3. 删除指定 ARP 项
arp -d 192.168.1.10
4. 清空整个 ARP 缓存
需要管理员权限:
arp -d *
三、ARP 工作原理(简述)
ARP(Address Resolution Protocol)是将 IP 地址解析为 MAC 地址 的协议。
简要流程:
- 当 PC 需要访问局域网某个 IP 时
- 缓存中没有该 IP → 广播 ARP 请求包
- 目标设备回复自己的 MAC
- PC 记录在 ARP 表(dynamic)
- 有效期一般为 2-10 分钟
所以:arp -a 只能看到你已经通信过的设备。
四、如何查看局域网所有 IP?(增强方案)
方案 1:先 ping 全网段,再用 arp -a
for /l %i in (1,1,254) do ping 192.168.1.%i -n 1 -w 5 >nul
arp -a
适用于简单扫描。
方案 2:使用 netsh(更专业)
清空 ARP 表:
arp -d *
扫描:
for /l %i in (1,1,254) do @ping -n 1 192.168.1.%i >nul
arp -a
方案 3:推荐使用 nmap(更专业)
nmap -sn 192.168.1.0/24
可获得:
- 所有在线 IP
- MAC 地址
- 厂家信息(OUI)
五、ARP 相关运维排错场景
1. 网关冲突
症状:ping 网关不通,偶尔能上网。
解决:
arp -a
检查是否有两个不同 MAC 地址对应网关 IP。
2. ARP 欺骗攻击(arp spoofing)
症状:
- 网速异常
- 内网设备间断断续续
- 访问网关时 MAC 地址频繁变化
3. 静态 IP 冲突
较常见于企业内网:
arp -a
ping x.x.x.x
观察 MAC 是否变化。
六、常见问题解答(FAQ)
Q1:为什么 arp -a 看不到所有局域网设备?
因为 ARP 表只记录你主动通信过的 IP。
Q2:为什么有时候 MAC 为空?
通常是设备关闭或 ARP 缓存过期。
Q3:ARP 表可以手动写死吗?
可以,用:
arp -s IP MAC
但断电后会丢失。
如果你需要,我可以为你生成:
- Windows 一键扫描局域网在线 IP 的批处理脚本(bat)
- 专业版扫描工具(PowerShell)
- 企业级局域网 IP/MAC 管理方案文档
- ARP 欺骗检测方案(含防御)
告诉我你需要哪一种即可。
发表回复