我正在使用 SharpPcap + PacketDotNet 库来处理一些 .pcap 文件,并在计算时间戳的方式中遇到了一个错误。
以这个 Timeval 属性为例,它是这样的:
PosixTimeval Timeval
{
DateTime Date;
ulong Seconds;
ulong MicroSeconds;
}
问题如下:假设您在 Wireshark 中打开了一个跟踪,其中一个数据包的时间戳为“0.002”。一旦您在其中一个程序中打开它,它就会检索数据包并设置它的 Timeval,这样Seconds = 0
和MicroSeconds = 002 = 2
. 这是在引擎盖下完成的,所以据我所知,没有办法避免它。
我的问题是,这个问题是否对其他操纵 pcap 文件格式的库(可能是所有库?)很常见,我认为这些库是围绕相同的 c/c++ 函数集合构建的,或者如果这只是一个问题我正在使用的那些。