在 CentOS 上“用 sniffer 测延迟”通常不是指某一个叫 sniffer 的命令,而是指通过抓包工具(如 tcpdump / Wireshark / tshark)来分析网络延迟。下面按常见场景给你说明。
sudo yum install -y tcpdump
例如抓某台服务器的 TCP 通信:
sudo tcpdump -i eth0 host 192.168.1.10 -w delay.pcap
eth0:网卡名192.168.1.10:对端 IP-w:保存为 pcap 文件tcpdump 本身不直接算延迟,但你可以:
示例:
sudo tcpdump -i eth0 -tttt host 192.168.1.10
输出示例:
2026-01-15 10:00:01.123456 IP A > B: Flags [P.]
2026-01-15 10:00:01.123789 IP B > A: Flags [.]
→ 延迟 ≈ 0.0003s
sudo yum install -y wireshark
tshark -i eth0 -Y "tcp.analysis.ack_rtt" -T fields \
-e frame.time_relative -e ip.src -e ip.dst -e tcp.analysis.ack_rtt
或只看 RTT:
tshark -i eth0 -z io,stat,0,tcp.analysis.ack_rtt
如果你说的 sniffer = 抓包测延迟,核心方法是:
✅ 请求包时间
✅ 响应包时间
✅ 差值 = 延迟
例如:
其实不一定用 sniffer:
ping ip
ping -c 10 192.168.1.10
或 TCP 层:
sudo yum install -y hping3
hping3 -S 192.168.1.10 -p 80
| 目的 | 推荐方式 |
|---|---|
| 简单延迟 | ping |
| TCP 层延迟 | hping3 |
| 抓包分析延迟 | tcpdump / tshark |
| 看 RTT | tshark + tcp.analysis.ack_rtt |
如果你能说清楚:
我可以直接给你一条可用命令。