有没有用现有的python库从pcap中获得纳秒?我有一个纳秒的pcap文件,可以和Wireshark一起工作,但Python pcapy库甚至不会导入文件。
这个功能确实存在于c libpcap中(参见:this thread)但是有没有人将它移植到Python中?我看了一下源代码,但是在更改pcapy以实现这个目标时我已经超出了我的想法。
纳秒对于我正在做的事情是必要的,微秒不能给我必要的精度,尽管我的代码在微处理器上运行得很好。
答案 0 :(得分:3)
在Python中尝试每个现有的pcap模块之后,我们决定在pcapy上编辑源代码。我们将其更改为包含“pcap_open_offline_with_tstamp_precision(pathname,PCAP_TSTAMP_PRECISION_NANO,errbuf);” libpcap中已经存在的功能,它运行得很好。现在我们的数据包捕获分析具有纳秒分辨率。
答案 1 :(得分:0)
在每个数据包中,如果您使用:
header.getts()[0]
它将返回纪元时间。我正在使用:
def convert_timefromepoch(epochTimestamp): return time.strftime('%Y /%m /%d%H:%M:%S',time.gmtime(epochTimestamp))
timeStamp = convert_timefromepoch(header.getts()[0])
获取我的输出中使用的日期/时间字符串。