温馨提示×

怎样排查centos sniffer

小樊
46
2026-09-27 07:17:02
栏目: 智能运维

在 CentOS 上“排查 sniffer(嗅探器 / 抓包程序)”通常指两件事之一:

  1. 系统上是否有人/程序在偷偷抓包(安全排查)
  2. 你自己要用 sniffer(如 tcpdump)排查网络问题

下面按安全排查 + 常用工具两部分说明。


一、排查系统是否被植入 sniffer(安全角度)

1. 检查是否处于混杂模式(Promiscuous Mode)

嗅探器通常要把网卡设为混杂模式。

ip link show

或:

ifconfig -a

看网卡是否有 PROMISC 标志,例如:

eth0: <BROADCAST,MULTICAST,PROMISC,UP>

查看哪些网卡在混杂模式:

cat /sys/class/net/*/flags

2. 检查正在使用抓包的程序

ps -ef | grep -E "tcpdump|wireshark|tshark|sniff|dumpcap"

常见嗅探程序:

  • tcpdump
  • tshark
  • dumpcap
  • wireshark
  • sslsplit
  • netsniff-ng

3. 检查打开 AF_PACKET 套接字的进程

Linux 抓包通常使用 AF_PACKET。

ss -pan | grep packet

或(老系统):

netstat -pan | grep packet

4. 检查加载的内核模块

lsmod | grep -E "packet|af_packet"

5. 检查 cron / 启动项

crontab -l
ls /etc/cron*
systemctl list-unit-files | grep enabled

6. 检查异常二进制文件

rpm -V tcpdump
which tcpdump
ls -l /usr/sbin/tcpdump

对比官方 RPM:

rpm -qf /usr/sbin/tcpdump

7. 使用 auditd(推荐)

监控谁调用了抓包相关系统调用:

auditctl -a always,exit -F arch=b64 -S socket -F a0=17

(17 = AF_PACKET)

查看日志:

ausearch -m syscall | grep socket

二、自己使用 sniffer 排查网络问题(正常用途)

1. tcpdump 基本用法

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

2. 快速看流量

iftop -i eth0
nload

3. 查看网络连接

ss -antup

三、安全加固建议

  • 非必要不装 tcpdump / wireshark
  • 限制普通用户使用抓包:
setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump
  • 使用 SELinux + auditd
  • 定期排查混杂模式网卡

如果你能说明:

  • 是怀疑被入侵还是自己排查网络
  • CentOS 版本(6 / 7 / 8 / Stream)

我可以给你更精确的命令和判断标准。

0 踩