我正在使用dpkt库获取数据包的时间戳,需要将其转换为秒。下面是获取数据包时间戳的代码:
f = open('test.pcap')
pcap = dpkt.pcap.Reader(f)
for ts, buf in pcap:
print "timestamp:",ts
我在这里有2个问题:
1.时间戳是以毫秒为单位,因为我无法从文档中确认这一点吗?
2.如果是以毫秒为单位......转换为秒的好方法是ts / 1000.0?
答案 0 :(得分:0)
看,秒,毫秒和纳秒是持续时间的单位。对? 而, 时间戳是发送或接收数据包的时刻。通常,在Wireshark中,时间戳由日期(自1970年1月1日起的天数)和时间(自午夜起的纳秒数)组成。
现在澄清差异后,以下单行代码(使用dpkt工具和python)可以转换
print ('Timestamp: ', str(datetime.datetime.utcfromtimestamp(ts)))
时间戳:2019-09-05 08:59:34.269526
我清楚了吗?