我有一个小型办公室网络,但我遇到了巨大的互联网链接延迟。我们有一个简单的网络拓扑:一台配置为运行 ubuntu 服务器 10.10 的路由器的计算机、2 个网卡(一个连接互联网,另一个连接办公室网络)和一个连接 20 台计算机的交换机。我在路由器上收集了一个巨大的 tcpdump 日志,我想绘制一个 RTT 时间的直方图allTCP 流试图找出解决此延迟问题的最佳解决方案。那么,有人可以告诉我如何使用wireshark或其他工具来做到这一点吗?
Wireshark 或 tshark 可以使用以下命令为您提供每个收到的 ACK 数据包的 TCP RTTtcp.analysis.ack_rtt它测量捕获 TCP 数据包和该数据包的 ACK 之间的时间增量。
你需要小心这一点,因为你的大多数 ACK 数据包都会from您的办公室机器会对从互联网接收到的数据包进行 ACK 确认,因此您将测量路由器看到来自互联网的数据包和看到来自办公室机器的 ACK 之间的 RTT。
要测量您的互联网 RTT,您需要从互联网寻找 ACKS(确认从您的网络发送的数据)。假设您的办公室机器的 IP 地址为 192.168.1.x,并且您已记录路由器 LAN 端口上的所有数据,您可以使用显示过滤器,如下所示:
tcp.analysis.ack_rtt and ip.dst==192.168.1.255/24
要将 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 选项指定要使用的显示过滤器(不推荐使用 -R 而不带 -2)
- -e选项指定要输出的字段
- -T 选项指定输出格式
在运行此命令之前,您可以使用 mergecap 实用程序将所有 pcap 文件合并为一个文件。将此输出转换为直方图应该很容易!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)