在 CentOS 上并没有一个叫 “Sniffer” 的标准命令,通常是指 网络嗅探(抓包)工具。下面我按最常见、最实用的方式给你讲,基本能覆盖 90% 的使用场景。
| 工具 | 说明 |
|---|---|
| tcpdump | 最常用、命令行抓包工具(强烈推荐) |
| Wireshark | 图形化抓包分析(服务器一般不用) |
| tshark | Wireshark 的命令行版 |
| ss / netstat | 查看连接,不算真正 sniffer |
| nmap | 扫描,不是抓包 |
✅ CentOS 服务器首选:tcpdump
# CentOS 7
yum install -y tcpdump
# CentOS 8 / Stream
dnf install -y tcpdump
检查:
tcpdump --version
ip addr
或
ifconfig
tcpdump -i eth0
常用参数:
-i eth0 # 指定网卡
-n # 不解析主机名
-nn # 不解析主机名和端口
-v # 详细信息
-vv # 更详细
-c 100 # 抓 100 个包后停止
tcpdump -i eth0 port 80 -nn
tcpdump -i eth0 host 192.168.1.100
tcpdump -i eth0 host 192.168.1.100 and port 443
tcpdump -i eth0 -s 0 -w capture.pcap
参数说明:
-s 0:抓完整包-w:写入文件(可用 Wireshark 分析)停止:Ctrl + C
tcpdump -r capture.pcap
tcpdump -i eth0 -nn 'tcp[tcpflags] & (tcp-syn) != 0'
tcpdump -i eth0 port 53
tcpdump -i eth0 port 22
tcpdump -i eth0 arp
tcpdump 需要 root 权限:
sudo tcpdump -i eth0
或
su -
⚠️ 注意:
如果你看到的是某个教程里的命令,可以把原文贴出来,我可以帮你精确解释。
最常用的一条命令:
tcpdump -i eth0 -nn -v
抓包分析:
tcpdump -i eth0 -s 0 -w test.pcap
如果你愿意,可以告诉我:
我可以直接给你 定制命令。