从C ++中记录的pcap文件中读取纳秒分辨率

时间:2017-04-26 09:26:29

标签: c++ timestamp libpcap

我用tcpdump录制了一些带有选项--time-stamp-precision nano的pcap文件,

我可以使用像

这样的命令用tcpdump打印这些pcap文件的时间戳

tcpdump -r <my_pcap_file> -ttt

然而,我似乎无法使用libpcap读取时间戳,我现在得到的最好的是微秒分辨率。

我在这里发现了一篇最近的帖子,提到它在libpcap中尚不支持: https://github.com/google/gopacket/issues/298

这仍然是真的吗?或者我需要查看帖子中提到的pcapgo吗?

1 个答案:

答案 0 :(得分:0)

以下帖子的答案回答了我的问题!

Read nanosecond pcap file using libpcap

起初我使用的是一个实际上具有微秒分辨率的pcap文件, 我假设使用 pcap_open_offline_with_tstamp_precision(pathname, PCAP_TSTAMP_PRECISION_NANO, errbuf); 打开pcap文件应该使tv_usec中的struct timeval在纳秒内,但只有当pcap文件实际上有纳秒时间戳时才会出现这种情况。