0

当一个数据包出去时,libpcap会为数据包加上时间戳,但是数据包的时间戳在哪里,即它是否位于数据包的数据中。如果在接收端接收到相同的数据包,则发送端的时间戳将在接收端被 libpcap 覆盖。

4

1 回答 1

1

libpcap 不会为传出的数据包添加时间戳。在传输端,时间戳可以作为某些网络协议的一部分来完成。例如,对于 TCP,可以使用时间戳选项 ( RFC 1323 )。如果启用了 TCP 时间戳选项,则传出的数据包很可能会被网络堆栈加上时间戳。

在接收端,libpcap 从操作系统接收数据包,并依赖内核为其提供有效的时间戳。内核将从网络接口驱动程序或网络堆栈获取时间戳。

接收时间戳不应该是数据包的一部分,因此不会覆盖发送者时间戳,这将是接收数据包的一部分。(与 TCP 一样)

希望这能回答你的问题?

于 2013-09-06T06:02:33.917 回答