下面给你一篇 超全、零基础也能懂的 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 地址
Typedynamic(动态)/ 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 命令
Windowsarp -a
Linuxip neigh / arp -n
macOSarp -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
删除 ARParp -d *
添加静态 ARParp -s IP MAC