在scapy和pcapy中的帮助

0 投票
1 回答
2194 浏览
提问于 2025-04-16 19:50

我刚接触scapy和pcapy。现在我有个项目,需要用scapy发送一个ICMP数据包,然后用pcapy捕获这个数据包。我还需要比较发送方和接收方的时间戳,以计算网络延迟。

我对怎么做完全没有头绪。任何帮助都会非常感谢。

谢谢你。

我用以下命令发送ICMP数据包到目标地址,这里我使用了类型13来获取时间戳。

a=IP(dst="172.24.50.76")/ICMP(type=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) 其次,我该如何增加数据包的大小,因为我需要用不同大小的数据包来计算延迟。

我希望这些对你来说是清楚的。

1 个回答

2

简单来说,就是在发送数据的时候,把当前的时间放进你的数据包里,然后和接收到数据包的时间进行比较。这样做需要确保发送方和接收方的时钟是同步的,比如可以用网络时间协议(NTP)来实现。你还需要考虑到发送方的操作系统从你的代码中取出数据包并实际发送所花的时间,以及接收方解析这个数据包并把它交给你代码所需的时间。

另外,你也可以尝试使用ICMP时间戳消息来做一些事情。

撰写回答