我需要确定数据包的传输时间。更具体地说,我需要:
- 数据包离开节点A的时间
- 数据包到达节点B的时间
有什么方法可以无误地识别数据包吗?我正在考虑在节点 A 和节点 B 使用 tcpdump/tshark,但是可以识别数据包吗?如何?
要么或(TShark/tcpdump)我将用wireshark解释分析。
让节点 A = 10.1.2.1 让节点 B = 10.20.30.1
从节点 A 上的捕获:
在 Wireshark 中,在过滤器中,隔离地址以最小化噪声:
ip.addr == 10.1.2.1(点击应用)
单击应用。点击 CTRL+Alt+1 以显示更易于阅读的时间: 2013-07-08 14:30:00 。您将看到数据包显示它离开节点 A 的时间。记下它,然后反过来做。分析来自节点 B 的捕获:
ip.addr == 10.20.30.1(点击应用)
CTRL+ALT+1 比较。请注意,除非您将两个节点都与 NTP 服务器同步,否则您的结果将有偏差
TCP 数据包没有唯一标识。有些参数组合起来可以帮助您识别数据包,但不能保证 100% 不会重复(特别是在分析大量数据包时)。这些参数是:
TCP 连接稳定后,TCP 标识号仅在发送 65536 个数据包后进行回绕,因此我将选择在回绕之前分析数据包。
我从以下位置获得该信息:https ://www.wireshark.org/lists/wireshark-users/201004/msg00216.html
如果您计划在两个节点上捕获,您还需要确保系统时钟紧密同步。