0

我是 scapy 和 pcapy 的新手。作为一个项目,我必须使用 scapy 发送一个 ICMP 数据包并使用 pcapy 捕获它。我必须比较发送者和接收者之间的时间戳来计算网络延迟。

我不知道我该怎么做。任何帮助将不胜感激。

谢谢你。

以下命令我曾经将 ICMP 数据包发送到我使用类型 13 作为时间戳的目的地。

a=IP(dst="172.24.50.76")/ICMP(类型=13)

sr1(a) 开始发射:完成发送 1 个数据包。收到 1 个数据包,得到 1 个答案,剩余 0 个数据包

ts_ori=22:40:35.556 ts_rx=526:4:13.700 ts_tx=526:4:13.700

1)以上ts_rx和ts_tx时间戳显示的时间相同,那么如何计算延迟呢?2)其次,我如何增加数据包的大小,因为我可以计算不同数据包大小的延迟。

我希望你很清楚。

4

1 回答 1

2

基本上,将发送方的当前时间插入您的有效负载,然后将其与收到数据包的时间进行比较。这将要求两台机器上的时钟同步(例如,使用NTP)。您还需要考虑发送方的操作系统从您的代码中获取数据包并实际发送它所花费的时间,以及接收方解析传入数据包并将其提供给您的代码的时间。

或者,您可以使用ICMP 时间戳消息做一些事情。

于 2011-06-18T23:18:11.640 回答