在 CentOS 上“排查 sniffer(嗅探器 / 抓包程序)”通常指两件事之一:
下面按安全排查 + 常用工具两部分说明。
嗅探器通常要把网卡设为混杂模式。
ip link show
或:
ifconfig -a
看网卡是否有 PROMISC 标志,例如:
eth0: <BROADCAST,MULTICAST,PROMISC,UP>
查看哪些网卡在混杂模式:
cat /sys/class/net/*/flags
ps -ef | grep -E "tcpdump|wireshark|tshark|sniff|dumpcap"
常见嗅探程序:
Linux 抓包通常使用 AF_PACKET。
ss -pan | grep packet
或(老系统):
netstat -pan | grep packet
lsmod | grep -E "packet|af_packet"
crontab -l
ls /etc/cron*
systemctl list-unit-files | grep enabled
rpm -V tcpdump
which tcpdump
ls -l /usr/sbin/tcpdump
对比官方 RPM:
rpm -qf /usr/sbin/tcpdump
监控谁调用了抓包相关系统调用:
auditctl -a always,exit -F arch=b64 -S socket -F a0=17
(17 = AF_PACKET)
查看日志:
ausearch -m syscall | grep socket
tcpdump -i eth0
tcpdump -i eth0 port 80
tcpdump -i eth0 host 192.168.1.10
tcpdump -i eth0 -nn -X
保存到文件:
tcpdump -i eth0 -w capture.pcap
iftop -i eth0
nload
ss -antup
setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump
如果你能说明:
我可以给你更精确的命令和判断标准。