下面给你一篇 超全、零基础也能懂的 ARP 命令详解,含:
✔ arp -a 查看局域网所有 IP
✔ ARP 是什么
✔ 常用 ARP 命令
✔ 抓取在线设备、IP–MAC 映射
✔ 实战技巧
适用于:Windows / macOS / Linux(命令略有不同)
⭐ 一、ARP 是什么?(简单易懂)
ARP = Address Resolution Protocol(地址解析协议)
作用:将 IP 地址 ↔ MAC 地址 做映射。
在局域网内,每台设备通信前必须知道对方的 MAC 地址,因此会通过 ARP 表 保存映射:
| IP 地址 | MAC 地址 |
|---|
arp -a 命令就是用来查看这张ARP表。
⭐ 二、Windows:查看局域网所有 IP 的命令(arp -a)
在 Windows 的 CMD 输入:
arp -a
你会看到类似:
Interface: 192.168.1.102 --- 0x3
Internet Address Physical Address Type
192.168.1.1 94-10-3e-bc-2a-ff dynamic
192.168.1.100 60-45-bd-1c-23-38 dynamic
192.168.1.103 28-6c-07-3a-4d-4b dynamic
含义:
| 字段 | 含义 |
|---|---|
| Interface | 本机当前使用的网卡 IP |
| Internet Address | 对方设备的 IP 地址 |
| Physical Address | 对方设备 MAC 地址 |
| Type | dynamic(动态)/ static(静态) |
⭐ 三、ARP 表是如何产生的?
ARP 表并不是自动列出所有局域网设备,它来自:
- 你访问过的 IP
- 设备主动广播
- 局域网 ARP 请求/回应
- 扫描工具触发 ARP
所以 刚开机 arp -a 空白是正常的。
⭐ 四、让 ARP 表显示更多局域网 IP(扫描技巧)
仅 arp -a 不会列出所有 IP,需要主动触发 ARP 探测。
方法 1:使用 ping 扫描全网段
例如你的网段是 192.168.1.x:
for /l %i in (1,1,254) do ping 192.168.1.%i -n 1 > nul
arp -a
它会扫描整个网段,然后再查 ARP 表就会显示所有在线 IP。
方法 2:使用 netsh 扫描
netsh interface ip show neighbors
可查看邻居信息(IP ↔ MAC)。
方法 3:使用专业扫描器 (最有效)
如:
- Advanced IP Scanner(免费)
- Angry IP Scanner
它们会主动 ARP 扫描整个局域网,比 arp -a 更全面。
⭐ 五、ARP 命令完整说明(Windows)
📌 查看 ARP 表
arp -a
📌 查看指定 IP 的 ARP 信息
arp -a 192.168.1.100
📌 刷新 ARP 表
arp -d *
清除后,会重新学习 MAC 地址。
📌 删除指定 IP 的 ARP 条目
arp -d 192.168.1.1
📌 添加静态 ARP 条目
arp -s 192.168.1.200 00-aa-00-ff-60-ef
静态:不会被自动清除。
⭐ 六、ARP 高级技巧(网络管理员常用)
1. 判断是否有人蹭网
先刷新 ARP:
arp -d *
再扫描全网段,然后:
arp -a
查看是否多出陌生 MAC。
2. 判断 ARP 欺骗(网络中断、跳 IP)
如果网关的 MAC 地址突然变了,可能被 ARP 攻击。
例如:
原来网关 MAC:94-10-3e-bc-2a-ff
突然变成:22-11-55-74-3d-88 → 有风险
3. 查找设备 MAC → 定位设备类型
MAC 地址前 3 字节可查出厂家(如 Apple、Xiaomi)。
查询方式:
getmac
或在线查 MAC 前缀。
⭐ 七、Linux / macOS 对应命令对照表
| 操作系统 | 查看 ARP 命令 |
|---|---|
| Windows | arp -a |
| Linux | ip neigh / arp -n |
| macOS | arp -a |
下面给你一篇 《cmd 查看局域网所有 IP 信息:arp -a(ARP 命令详解)》 的完整版本,可直接拿去用,结构清晰、含实例。
cmd 查看局域网所有 IP 信息:arp -a(ARP 命令详解)
在排查局域网设备、定位 IP 冲突、分析网络异常时,ARP(Address Resolution Protocol) 是最实用的工具之一,而 arp -a 是查看局域网设备最常用的命令。
这篇文章从基础到进阶,为你 彻底讲明白 ARP、arp 命令、工作原理、实战技巧,一次看懂,收藏即可。
一、ARP 是什么?
ARP(Address Resolution Protocol,地址解析协议),用于:
把 IP 地址解析为 MAC 地址。
因为局域网通信必须依赖 MAC 进行数据链路层封装,所以当一台电脑要与某 IP 通信时,必须先知道对方的 MAC。
二、ARP 缓存表是什么?
电脑会把解析结果记在内存中:
📌 ARP 缓存表(ARP Cache)= IP ↔ MAC 对照表
保存内容包括:
- IP 地址
- 对应的 MAC 地址
- 项类型(动态 Dynamic / 静态 Static)
示例:
192.168.1.1 00-11-22-33-44-55 动态
192.168.1.101 4c-cc-6a-a1-47-00 动态
三、通过 cmd 查看局域网设备:arp -a
只需 1 条命令:
arp -a
示例输出:
接口: 192.168.1.100 --- 0x4
Internet 地址 物理地址 类型
192.168.1.1 d4-5d-64-aa-4e-80 动态
192.168.1.101 4c-cc-6a-a1-47-00 动态
192.168.1.103 80-2a-a8-77-45-d2 动态
字段说明:
| 字段 | 说明 |
|---|---|
| Internet 地址 | 设备 IP |
| 物理地址 | MAC 地址 |
| 类型 | Dynamic 动态 / Static 静态 |
四、为什么 arp -a 不能看到所有局域网设备?
原因很关键:
✔ 你只能看到 与你通信过 的设备
ARP 表只包含:
- 你 ping 过的设备
- 主动与你通信过的设备
- 广播报文能覆盖到的设备
📌 因此 只执行 arp -a 不会显示整个局域网所有 IP。
五、如何让 ARP 显示更多 IP?
你可以先进行 Ping 扫描:
方法 1:批量 ping 一整段 IP(最常用)
for /l %i in (1,1,254) do ping 192.168.1.%i -n 1 -w 10 > nul
然后再查看:
arp -a
这样可以看到局域网几乎所有存活 IP。
方法 2:使用本机 ARP 监听(自动收集)
某些扫描器如:
- Advanced IP Scanner
- Angry IP Scanner
会自动触发 ARP 解析,使 arp -a 结果更丰富。
六、ARP 命令详解(最完整版)
✔ 查看缓存表
arp -a
✔ 清除 ARP 缓存
arp -d *
✔ 删除指定 IP 的 ARP 记录
arp -d 192.168.1.101
✔ 添加静态 ARP 记录(防 IP/MAC 被欺骗)
arp -s 192.168.1.200 00-aa-bb-cc-dd-ee
静态记录不会被覆盖,可用于防 ARP 攻击。
七、ARP 的常见用途
1. 查局域网所有存活设备
→ Ping 扫描 + arp -a
2. 查出 MAC 地址对应的是什么设备
→ 用 MAC 前 3 字节(OUI)查厂商
如:
4c-cc-6a → TP-LINK
80-2a-a8 → HUAWEI
3. 排查 IP 冲突
如果两个不同 MAC 出现在同一 IP 上:
192.168.1.88 a1-b2-c3-d4-e5-f6
192.168.1.88 11-22-33-44-55-66
说明 IP 冲突。
4. 排查 ARP 欺骗(ARP spoofing)
如:
- 网关 IP 出现陌生 MAC
- 多个 IP 指向同一个 MAC
八、增强版:扫描局域网所有设备的 3 个更强工具(推荐)
① Advanced IP Scanner
- Windows 最好用的 LAN 扫描工具
- 自动触发 ARP
- 靠谱、免费
② Angry IP Scanner
- 跨平台
- 扫描速度极快
- 支持 MAC 厂商识别
③ arp-scan(Linux)
最专业,一条命令扫描整个网段:
sudo arp-scan 192.168.1.0/24
九、总结(必看)
| 操作 | 命令 |
|---|---|
| 查看 ARP 缓存 | arp -a |
| 批量 ping 全网段 | for /l %i in (1,1,254) do ping 192.168.1.%i -n 1 >nul |
| 删除 ARP | arp -d * |
| 添加静态 ARP | arp -s IP MAC |
发表回复