arp 是 Address Resolution Protocol(地址解析协议)的缩写,它的核心作用是在局域网中,根据设备的 IP 地址 来查询和获取其对应的 MAC 地址(物理地址)。

您可以把它想象成网络世界里的“电话本”:
- IP 地址:就像一个人的姓名或手机号(逻辑地址)。
- MAC 地址:就像一个人的身份证号(物理地址),是网卡出厂时就固定的唯一标识。
- ARP 协议:就是查询这个“电话本”的过程,通过“姓名”(IP)找到“身份证号”(MAC)。
基本语法
arp [-a [InterfaceIP]] [-g [InterfaceIP]] [-d [InterfaceIP] [No]] [-s [InterfaceIP] [PhysicalAddress] [No]]
常用参数详解
arp -a 或 arp -g (查看 ARP 缓存)
这是最常用的功能,用于查看本机当前的 ARP 缓存表。
-a:显示所有接口的 ARP 缓存条目。-g:与-a功能相同,是 UNIX/Linux 系统下的遗留用法,在 Windows 中也可用。[InterfaceIP](可选):指定要查看的网络接口的 IP 地址,如果你的电脑有多个网卡(比如有线、无线、VPN),可以用这个参数来查看特定网卡的缓存。
示例:
# 查看所有网卡的 ARP 缓存 arp -a # 查看指定 IP 地址(192.168.1.1)所在网卡的 ARP 缓存 arp -a 192.168.1.1
输出结果解读:

接口: 192.168.1.100 --- 0x3
互联网地址 物理地址 类型
192.168.1.1 00-1a-2b-3c-4d-5e 动态
192.168.1.105 aa-bb-cc-dd-ee-ff 动态
- 接口:显示该条目属于哪个网络接口及其 IP 地址。
- 互联网地址:目标设备的 IP 地址。
- 物理地址:目标网卡的 MAC 地址。
- 类型:
- 动态:表示这个条目是通过 ARP 协议自动学习和获取的,并且有一定的时间限制(通常是 2-10 分钟),如果超过时间未被使用,条目会自动从缓存中删除。
- 静态:表示这个条目是管理员手动添加的,它不会被自动删除,除非手动删除或电脑重启,这通常用于网络中需要固定通信的服务器或网络设备。
arp -s (添加静态 ARP 条目)
手动将一个 IP 地址和 MAC 地址绑定,创建一个静态条目,这通常用于网络安全,防止 ARP 欺骗攻击。
[InterfaceIP]:要绑定的网络接口的 IP 地址。[PhysicalAddress]:要绑定的 MAC 地址。[No](可选):表示该条目不会与远程系统通信进行验证。
示例:
假设你的网关(路由器)IP 是 168.1.1,它的 MAC 地址是 00-11-22-33-44-55,为了防止 ARP 欺骗,你可以手动绑定它:
arp -s 192.168.1.1 00-11-22-33-44-55
执行后,再用 arp -a 查看,你会发现 168.1.1 的类型变成了“静态”。
arp -d (删除 ARP 条目)
删除指定的 ARP 缓存条目,这可以用来清除错误的或恶意的 ARP 条目,或者让系统重新学习正确的地址。

[InterfaceIP](可选):要删除条目的网络接口的 IP 地址,如果省略,则会删除所有接口的对应条目。[No](可选):要删除的条目的 IP 地址。
示例:
# 删除所有接口中关于 192.168.1.1 的 ARP 条目 arp -d 192.168.1.1 # 删除所有接口的所有 ARP 条目(需要管理员权限) arp -d *
注意:删除动态条目后,当系统需要与该 IP 通信时,会自动重新发送 ARP 请求来获取新的 MAC 地址,删除静态条目则意味着手动添加的绑定失效。
实际应用场景
查找局域网内其他设备的 MAC 地址
如果你想知道局域网内某台电脑(IP 为 168.1.101)的 MAC 地址:
# 先 ping 一下,确保目标 IP 在线,这样才会触发 ARP 请求 ping 192.168.1.101 # 然后查看 ARP 缓存表 arp -a | find "192.168.1.101"
输出结果中 168.1.101 对应的物理地址就是你要找的 MAC 地址。
诊断网络连接问题(网络上的其他设备看不到我”)
你的电脑能上网,但局域网内的其他设备(如手机、另一台电脑)却无法访问你的电脑,这可能是 ARP 缓存出了问题。 你可以尝试删除本机关于网关的 ARP 条目,让它重新学习:
# 假设网关是 192.168.1.1 arp -d 192.168.1.1
删除后,当你再次访问网络时,系统会重新发送 ARP 请求获取正确的网关 MAC 地址,问题可能会因此解决。
防御 ARP 欺骗/ARP 毒化攻击
ARP 欺骗是一种常见的局域网攻击,攻击者会发送伪造的 ARP 报文,使你的电脑将网关的 IP 地址与攻击者电脑的 MAC 地址绑定,导致你的网络流量被窃听或中断。
防御方法:
- 静态绑定:将关键设备(如网关、服务器)的 IP 和 MAC 地址设置为静态条目,如上文
arp -s的示例。 - 定期检查:使用
arp -a定期检查 ARP 缓存表,发现异常的 MAC 地址(比如一个 IP 对应了多个不同的 MAC 地址)要及时警惕。
管理员权限
arp -s(添加静态条目)和 arp -d *(删除所有条目)这两个操作需要管理员权限才能执行,如果你在普通命令行窗口运行这些命令会提示“拒绝访问”,你需要以管理员身份运行 CMD。
相关命令
ipconfig /all:可以查看本机所有网卡的 IP 地址、MAC 地址、网关等详细信息,是arp命令的好搭档。ping:用于测试网络连通性,同时会触发 ARP 解析过程,是刷新和查看 ARP 缓存的前提。
| 命令 | 功能 | 示例 |
|---|---|---|
arp -a |
查看所有 ARP 缓存 | arp -a |
arp -a [IP] |
查看指定接口的 ARP 缓存 | arp -a 192.168.1.1 |
arp -s [IP] [MAC] |
添加静态 ARP 条目 | arp -s 192.168.1.1 00-11-22-33-44-55 |
arp -d [IP] |
删除指定 IP 的 ARP 条目 | arp -d 192.168.1.1 |
arp -d * |
删除所有 ARP 条目 (需管理员) | arp -d * |
掌握 arp 命令对于理解局域网工作原理、进行基本的网络诊断和保障网络安全都非常有帮助。
