在 CentOS 上,“sniffer” 并不是某一个具体命令,而是一类工具/技术的总称,而 tcpdump 是其中一种具体实现。很多人会把两者混着说,下面给你一个清晰对比。
tcpdump 是一个抓包工具,sniffer 是抓包行为的统称
tcpdump 属于 sniffer 的一种实现
✅ 举例:
✅ 特点:
.pcap 文件| 对比项 | sniffer(概念) | tcpdump(工具) |
|---|---|---|
| 本质 | 抓包技术/类别 | 具体抓包程序 |
| 是否命令 | ❌ 不是 | ✅ 是 |
| 是否依赖 libpcap | 不一定 | ✅ 是 |
| 是否支持混杂模式 | ✅ | ✅ |
| 使用场景 | 泛指 | 服务器、排错 |
| 是否有 GUI | 可能有 | ❌ |
| 能否保存 pcap | 取决于工具 | ✅ |
yum install -y tcpdump
tcpdump -i eth0
yum install -y wireshark-cli
tshark -i eth0
ss -tunap
❌ 不能抓包,只能看连接
tcpdump -i eth0
tcpdump -i eth0 port 80
tcpdump host 192.168.1.10
tcpdump -i eth0 -w capture.pcap
tcpdump -c 100 -i eth0
tcpdump 需要 root 或 CAP_NET_RAW
sudo tcpdump -i eth0
或在 CentOS 8+:
getcap /usr/sbin/tcpdump
sniffer = 抓包这件事
tcpdump = 干这件事的一个工具
如果你愿意,我可以:
你更想了解哪一块?