温馨提示×

怎样用centos sniffer测延迟

小樊
36
2026-09-09 04:05:41
栏目: 智能运维

在 CentOS 上“用 sniffer 测延迟”通常不是指某一个叫 sniffer 的命令,而是指通过抓包工具(如 tcpdump / Wireshark / tshark)来分析网络延迟。下面按常见场景给你说明。


一、用 tcpdump + 分析(最常用)

1. 安装 tcpdump

sudo yum install -y tcpdump

2. 抓包

例如抓某台服务器的 TCP 通信:

sudo tcpdump -i eth0 host 192.168.1.10 -w delay.pcap
  • eth0:网卡名
  • 192.168.1.10:对端 IP
  • -w:保存为 pcap 文件

3. 分析延迟(靠时间戳)

tcpdump 本身不直接算延迟,但你可以:

  • 请求和响应的时间差
  • TCP 重传、RTT

示例:

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


二、用 tshark(命令行 Wireshark,更专业)

1. 安装

sudo yum install -y wireshark

2. 直接看 TCP RTT(最推荐)

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 思路测“网络延迟”(不是 ping)

如果你说的 sniffer = 抓包测延迟,核心方法是:

✅ 请求包时间
✅ 响应包时间
✅ 差值 = 延迟

例如:

  • HTTP 请求 → 响应
  • TCP SYN → SYN-ACK
  • DNS query → response

四、如果只是想“测延迟”,更简单的方法

其实不一定用 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

如果你能说清楚:

  • 哪类流量(HTTP / TCP / 数据库 / 自定义协议)
  • 服务器侧还是客户端侧
  • 想要 实时还是离线分析

我可以直接给你一条可用命令。

0