温馨提示×

CentOS Sniffer怎么查看ARP欺骗

小樊
41
2026-08-30 08:30:04
栏目: 智能运维

在 CentOS 上排查 ARP 欺骗(ARP Spoofing),通常不需要专门的“Sniffer”,而是结合抓包 + ARP 表分析。下面给你一套实战可操作的方法,从简单到进阶。


一、快速判断是否存在 ARP 欺骗

1️⃣ 查看本机 ARP 表

arp -n
# 或
ip neigh

重点看:

  • 同一个 MAC 地址对应多个 IP
  • 网关 IP 的 MAC 突然变化
  • 同一个 IP 对应多个 MAC

示例(异常):

192.168.1.1  aa:bb:cc:dd:ee:ff  eth0
192.168.1.2  aa:bb:cc:dd:ee:ff  eth0
192.168.1.3  aa:bb:cc:dd:ee:ff  eth0

➡ 很可能是 ARP 欺骗。


2️⃣ 查看网关 MAC 是否频繁变化

ip neigh show 192.168.1.1

多次执行,如果 MAC 地址 不断变化 → 高度可疑。


二、使用抓包工具(Sniffer)分析 ARP

方法一:tcpdump(最常用 ✅)

1️⃣ 监听 ARP 流量

tcpdump -i eth0 arp -n

关注:

  • 是否同一个 IP 发多个不同 MAC 的 ARP 包
  • 是否有 ARP reply 没有 request(ARP 洪泛)

示例异常:

ARP, Reply 192.168.1.1 is-at aa:bb:cc:dd:ee:ff
ARP, Reply 192.168.1.1 is-at 11:22:33:44:55:66

➡ 明显 ARP 欺骗


2️⃣ 保存并离线分析

tcpdump -i eth0 arp -w arp.pcap

Wireshark 打开分析更直观。


方法二:Wireshark(图形化,推荐)

yum install wireshark
wireshark

过滤条件:

arp

重点看:

  • Duplicate IP detection
  • ARP Spoofing / Gratuitous ARP
  • 同一 IP 有多条不同 MAC 的 ARP Reply

三、检测 ARP 欺骗的专用工具

✅ arpwatch(强烈推荐)

安装

yum install arpwatch -y

启动

systemctl start arpwatch
systemctl enable arpwatch

查看日志

tail -f /var/log/messages
# 或
journalctl -u arpwatch -f

异常日志示例:

arpwatch: flip flop 192.168.1.1 aa:bb:cc:dd:ee:ff -> 11:22:33:44:55:66

➡ 明确表示 ARP 欺骗或异常


四、使用 arping 验证网关是否真实

arping -I eth0 192.168.1.1

正常情况下:

  • 只有 一个 MAC 回复

如果:

  • 收到 多个不同 MAC 的回复

➡ 基本确定存在 ARP 欺骗


五、ARP 欺骗常见特征总结

现象 是否异常
一个 MAC 对应多个 IP ✅ 异常
网关 MAC 频繁变化 ✅ 异常
无请求的 ARP Reply ✅ 异常
大量 Gratuitous ARP ✅ 异常

六、CentOS 7/8 上的防护手段(可选)

1️⃣ 静态绑定网关 ARP

arp -s 192.168.1.1 00:11:22:33:44:55

⚠️ 临时生效,重启失效


2️⃣ 启用内核 ARP 防护

sysctl -w net.ipv4.conf.all.arp_ignore=1
sysctl -w net.ipv4.conf.all.arp_announce=2

3️⃣ 交换机端口安全(根本解决)

✅ 最有效的方法(企业环境)


七、推荐排查顺序(实战)

1. ip neigh
2. tcpdump arp
3. arpwatch
4. arping 网关

如果你愿意,可以告诉我:

  • ✅ CentOS 版本(6 / 7 / 8 / Stream)
  • ✅ 是物理机还是虚拟机(VMware / KVM)
  • ✅ 是否有交换机管理权限

我可以给你更精确的排查方案写自动化检测脚本

0