使用wireshark或其他工具绘制RTT直方图

Luc*_*sBr 6 histogram tcpdump wireshark roundtrip

我有一个小办公室网络,我遇到了巨大的互联网链接延迟.我们有一个简单的网络拓扑:配置为运行ubuntu服务器10.10的路由器的计算机,2个网卡(一个连接到互联网链接,另一个连接到办公网络)和一个连接20台计算机的交换机.我在路由器上收集了一个巨大的tcpdump日志,我想用所有 TCP流的RTT时间绘制直方图,以试图找出这个延迟问题的最佳解决方案.那么,有人可以告诉我如何使用wireshark或其他工具吗?

rup*_*llo 11

Wireshark或tshark可以使用tcp.analysis.ack_rtt为每个收到的ACK数据包提供TCP RTT,它测量捕获TCP数据包与该数据包的ACK之间的时间差.

您需要小心这一点,因为大多数ACK数据包将来自您的办公室机器,确认从互联网接收到的数据包,因此您将测量路由器之间的RTT,从互联网上查看数据包并查看办公室机器的ACK .

要测量您的互联网RTT,您需要从互联网上查找ACKS(确认从您的网络发送的数据).假设你的办公室机器有192.168.1.x这样的IP地址并且你已经在路由器的LAN端口上记录了所有数据,你可以使用如下的显示过滤器:

tcp.analysis.ack_rtt and ip.dst==192.168.1.255/24
Run Code Online (Sandbox Code Playgroud)

要将RTT转储到.csv进行分析,您可以像这样使用tshark命令;

tshark -r router.pcap -Y "tcp.analysis.ack_rtt and ip.dst==192.168.1.255/24" -e tcp.analysis.ack_rtt -T fields -E separator=, -E quote=d > rtt.csv

  • -r选项告诉tshark从.pcap文件中读取
  • -Y选项指定要使用的显示过滤器(不包括-2的-R)
  • -e选项指定要输出的字段
  • -T选项指定输出格式

在运行此命令之前,您可以使用mergecap实用程序将所有pcap文件合并为一个文件.将此输出转换为直方图应该很容易!