帮助scapy和pcapy

时间:2011-06-18 22:43:22

标签: python packet-capture libpcap scapy

我是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)其次,我如何增加数据包的大小,因为我计算不同数据包大小的延迟。

我希望你能清楚。

1 个答案:

答案 0 :(得分:2)

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

或者,您可以使用ICMP Timestamp消息执行某些操作。