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

你可以把它想象成网络世界的“电话簿”:
- 你要找的人:IP 地址(
168.1.100) - 这个人的电话号码/身份证号:MAC 地址(
00-1A-2B-3C-4D-5E) - 查电话簿的动作:
arp命令
如何使用 arp 命令?
在 Windows 中,你需要打开 命令提示符 或 PowerShell 来执行 arp 命令。
- 按
Win + R键,输入cmd或powershell,然后按回车。 - 在打开的窗口中,输入
arp命令及其参数。
arp 命令的主要参数和功能
arp 命令最常用的用法是查看和管理本地的 ARP 缓存。
查看 ARP 缓存(最常用)
这是 arp 命令最核心的功能,显示当前本机已知的 IP 地址与 MAC 地址的映射关系。

命令格式:
arp -a [IP 地址]
参数说明:
-a:显示所有接口的 ARP 缓存条目。[IP 地址](可选):如果指定了一个 IP 地址,arp -a将只显示与该 IP 地址相关的缓存条目。
示例:
-
查看所有 ARP 缓存:
(图片来源网络,侵删)arp -a
输出结果分析:
接口: 192.168.1.100 --- 0x3 Internet 地址 物理地址 类型 192.168.1.1 00-aa-bb-cc-dd-ee 动态 192.168.1.101 11-22-33-44-55-66 动态 192.168.1.254 ff-ee-dd-cc-bb-aa 动态- 接口:显示哪个网络适配器(网卡)的 ARP 表。
- Internet 地址:IP 地址。
- 物理地址:MAC 地址。
- 类型:条目的类型。
- 动态:系统自动添加和条目,如果一段时间(通常是2分钟)没有通信,条目会自动删除,这是最常见的类型。
- 静态:管理员手动添加的条目,不会自动过期,除非手动删除,通常用于网络管理或安全目的。
-
查看特定主机的 ARP 缓存: 假设你想知道网关
168.1.1的 MAC 地址:arp -a 192.168.1.1
添加静态 ARP 条目
在某些情况下,你可能需要手动将一个 IP 地址与一个固定的 MAC 地址绑定,以防止 ARP 欺骗(中间人攻击)或确保网络通信的稳定性。
命令格式:
arp -s <IP 地址> <MAC 地址>
示例:
假设你要将服务器 168.1.50 的 MAC 地址永久设置为 00-11-22-33-44-55:
arp -s 192.168.1.50 00-11-22-33-44-55
注意:静态条目在系统重启后通常不会保留,如果需要永久保留,可以将其写入批处理脚本(
.bat文件)并设置为开机自启。
删除 ARP 条目
ARP 缓存中存在错误的、过期的或可疑的条目,可以将其删除,系统会重新发送 ARP 请求来获取正确的映射。
命令格式:
arp -d <IP 地址>
示例:
假设你怀疑 168.1.101 的 ARP 条目被篡改了,可以删除它:
arp -d 192.168.1.101
注意:删除后,当你再次与该 IP 地址通信时,系统会自动重新解析并生成新的动态条目。
实际应用场景
场景1:诊断网络连接问题
当你无法访问局域网内的某台电脑或某个设备时,可以检查其 ARP 条目是否存在。
- Ping 目标 IP:
ping 192.168.1.101
- 查看 ARP 缓存:
arp -a | findstr "192.168.1.101"
- 如果条目存在且类型为“动态”:说明本地网络与目标设备有基本通信,问题可能出在更高层(如防火墙、服务配置)。
- 如果条目不存在:说明你的设备从未收到过来自
168.1.101的响应,可能目标设备已关机、网络不通,或不在同一个局域网/VLAN。 - 如果条目存在但类型为“静态”:检查是否是你手动添加的,或者被恶意软件修改过。
场景2:防范 ARP 欺骗(中间人攻击)
ARP 欺骗是一种常见的局域网攻击,攻击者发送伪造的 ARP 报文,使你的设备将网关或其他主机的 IP 地址错误地映射到攻击者的 MAC 地址上,从而截获你的网络流量。
临时防御方法:为关键设备(如默认网关)创建静态 ARP 条目。
- 先查看网关的正确 MAC 地址:
arp -a | findstr "192.168.1.1"
假设输出是
168.1.1 00-aa-bb-cc-dd-ee 动态 - 将其设置为静态条目:
arp -s 192.168.1.1 00-aa-bb-cc-dd-ee
这样,即使攻击者发送伪造的 ARP 报文,你的电脑也不会相信,因为网关的 MAC 地址已经被你“锁定”了。
场景3:查找局域网内未知设备
如果你在 ARP 缓存中发现一个不认识的 MAC 地址,你可以通过查询 MAC 地址厂商信息来大致判断设备的类型(是电脑、手机、打印机还是网络设备)。
- 获取完整的 MAC 地址列表:
arp -a | findstr /R "^[0-9a-fA-F]"
- 使用在线 MAC 地址查询工具:将查到的 MAC 地址(如
00-1A-2B-3C-4D-5E)的前6位(00-1A-2B)输入到 MAC 地址查询网站,即可知道其制造商。
arp 命令的完整帮助信息
在命令提示符中输入 arp /? 或 arp -? 可以查看所有可用参数的详细说明。
arp /?
用法: arp -s iface_addr eth_addr [if_addr]
arp -d if_addr [if_addr]
arp -a [if_addr]
-s : 添加静态 ARP 条目。
-d : 删除 ARP 条目。
-a : 显示所有接口的 ARP 条目。
if_addr : 指定接口地址。
eth_addr : 指定以太网地址。
示例:
arp -s 157.55.85.212 00-aa-00-62-c6-09 .... 添加静态项。
arp -s 157.55.85.212 00-aa-00-62-c6-09 iface_addr .... 在接口 if_addr 上添加静态项。
arp -d 157.55.85.212 .... 删除由 157.55.85.212 指定的项。
arp -a .... 显示所有接口的 ARP 缓存项。
arp -a if_addr .... 显示 if_addr 指定的接口的 ARP 缓存项。
| 功能 | 命令 | 描述 |
|---|---|---|
| 查看所有缓存 | arp -a |
显示本机所有网络接口的 ARP 缓存表。 |
| 查看特定IP | arp -a <IP> |
显示与指定IP地址相关的ARP缓存条目。 |
| 添加静态条目 | arp -s <IP> <MAC> |
手动绑定一个IP地址和MAC地址,条目不会过期。 |
| 删除条目 | arp -d <IP> |
删除指定IP地址的ARP缓存条目。 |
arp 命令是网络管理员和高级用户进行局域网故障排查和安全管理的基础且强大的工具,掌握它能帮助你更深入地理解网络通信的底层原理。
