Python-使用DPKT的数据包时间戳

时间:2017-06-14 01:26:35

标签: python dpkt

我正在使用dpkt库获取数据包的时间戳,需要将其转换为秒。下面是获取数据包时间戳的代码:

f = open('test.pcap')
pcap = dpkt.pcap.Reader(f)
for ts, buf in pcap:
      print "timestamp:",ts

我在这里有2个问题:
1.时间戳是以毫秒为单位,因为我无法从文档中确认这一点吗? 2.如果是以毫秒为单位......转换为秒的好方法是ts / 1000.0?

1 个答案:

答案 0 :(得分:0)

看,秒,毫秒和纳秒是持续时间的单位。对? 而, 时间戳是发送或接收数据包的时刻。通常,在Wireshark中,时间戳由日期(自1970年1月1日起的天数)和时间(自午夜起的纳秒数)组成。

现在澄清差异后,以下单行代码(使用dpkt工具和python)可以转换

print ('Timestamp: ', str(datetime.datetime.utcfromtimestamp(ts)))

时间戳:2019-09-05 08:59:34.269526

我清楚了吗?