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

Python—使用DPKT的数据包的时间戳,python,dpkt,Python,Dpkt,我使用dpkt库获取数据包的时间戳,需要将其转换为秒。下面是我获取数据包时间戳的代码: f = open('test.pcap') pcap = dpkt.pcap.Reader(f) for ts, buf in pcap: print "timestamp:",ts 我这里有两个问题: 1.时间戳是否以毫秒为单位,因为我无法从文档中对此进行确认? 2.如果以毫秒为单位。。。转换为秒的好方法是ts/1000.0?看,秒、毫秒和纳秒是持续时间的单位。对吗? 虽然 时间戳是发送或接收

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

f = open('test.pcap')
pcap = dpkt.pcap.Reader(f)
for ts, buf in pcap:
      print "timestamp:",ts
我这里有两个问题:
1.时间戳是否以毫秒为单位,因为我无法从文档中对此进行确认?

2.如果以毫秒为单位。。。转换为秒的好方法是ts/1000.0?

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

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

print ('Timestamp: ', str(datetime.datetime.utcfromtimestamp(ts)))
时间戳:2019-09-05 08:59:34.269526


我明白了吗?

时间戳不仅仅是发送或接收包的瞬间,它是一个更广泛的术语,适用于任何时刻(不仅仅是Wireshark中的包,时间戳还可以存储在任何语言的变量中,表示发生事件的某个时刻),你能澄清一下那行代码的作用吗?似乎你遗漏了部分解释(转换成…?),或者至少我没有理解你的意思。另外,欢迎使用堆栈溢出:)祝您好运coding@GrauCygnus,你是对的,但是这个问题是针对pcap文件中的数据包时间戳的……我同意这一点,但给出时间戳的有限定义仍然可能会产生误导:),好的。代码将很好地工作。我当时在写剧本的时候把它抄了下来。