简介
arp(地址解析协议)命令用于查看、添加和修改系统的 ARP 缓存。ARP 缓存存储了 IP 地址和 MAC 地址之间的映射,有助于网络中的计算机高效通信。
许多现代 Linux 发行版使用 ip neigh(来自 iproute2)而不是 arp。但是,arp 对于管理 ARP 表仍然有用。
示例用法
显示 ARP 表
arp -a
或
ip neigh show
# 这将显示当前 ARP 缓存,显示 IP 地址、MAC 地址和网络接口
示例输出
192.168.1.1 ether 00:1A:2B:3C:4D:5E C eth0
192.168.1.10 ether 00:1B:3C:4D:5E:6F C eth0
ether:以太网连接
C:条目已完成
eth0:网络接口名称
显示特定 IP 的 ARP 条目
arp -a 192.168.1.1
或
ip neigh show 192.168.1.1
添加静态 ARP 条目
sudo arp -s 192.168.1.100 00:11:22:33:44:55
或
sudo ip neigh add 192.168.1.100 lladdr 00:11:22:33:44:55 dev eth0
# 这会将 IP 192.168.1.100 手动映射到 MAC 地址 00:11:22:33:44:55
# 静态 ARP 条目将保留到重新启动,除非添加到启动脚本
删除 ARP 条目
sudo arp -d 192.168.1.100
或
sudo ip neigh del 192.168.1.100 dev eth0
清除整个 ARP 缓存
sudo ip -s -s neigh flush all
# 这将删除所有动态学习的 ARP 条目
在接口上启用或禁用 ARP
禁用 ARP
sudo ip link set dev eth0 arp off
启用 ARP
sudo ip link set dev eth0 arp on
使用 tcpdump 监控 ARP 流量
sudo tcpdump -nn -e -i eth0 arp
# 这将捕获 eth0 上的实时 ARP 流量,显示请求和响应
查找 ARP 欺骗攻击
检查重复的 MAC 地址(可能的 ARP 欺骗)
arp -a | sort
# 如果多个 IP 映射到同一个 MAC 地址,则可能有人试图拦截流量