我有一个小的办公网络,并且正在经历巨大的Internet链接延迟。我们有一个简单的网络拓扑:配置为运行ubuntu服务器10.10的路由器的计算机,2个网卡(一个连接到Internet链接,另一个连接到办公网络)和一台连接20台计算机的交换机。我在路由器处收集了一个巨大的tcpdump日志,我想绘制一个直方图,其中RTT时间为所有 TCP流,以试图找到解决此延迟问题的最佳方法。因此,有人可以告诉我如何使用Wireshark或其他工具进行操作吗?

最佳答案

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

您需要注意这一点,因为您的大多数ACK数据包将是的,您的办公室机器将ACK从互联网接收到的数据包,因此您将测量路由器看到Internet的数据包并查看来自您的ACK的RTT。办公机器。

要测量您的互联网RTT,您需要从互联网中查找ACK(确认从您的网络发送的数据)。假设您的办公室机器的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文件合并为一个文件,然后再运行此命令。将此输出转换为直方图应该很容易!

    10-06 12:02