gpt4 book ai didi

python - 使用 dpkt 的微秒分辨率

转载 作者:行者123 更新时间:2023-11-28 21:55:12 28 4
gpt4 key购买 nike

我正在尝试创建一个 Python 脚本,我在其中解析 pcap 文件并将流量突发性测量到亚毫秒级。问题是 dpkt 提供的时间戳似乎没有提供足够好的分辨率。以下脚本 #!/usr/bin/python 导入 dpkt,系统

f=file(sys.argv[1],"rb")
pcap=dpkt.pcap.Reader(f)


for ts, buf in pcap:
eth=dpkt.ethernet.Ethernet(buf)
size = len(eth)
print "packet size %s" % size
print "timestamp %s" % ts

产生以下结果

数据包大小 199时间戳 1397589057.04数据包大小 119时间戳 1397589057.04数据包大小 66时间戳 1397589057.04数据包大小 247时间戳 1397589057.04

这些数据包的实际时间戳应该采用 .043549 格式,精确到微秒。有谁知道如何获得完整的时间戳?

最佳答案

我假设你正在做这样的事情:

for ts, buf in pcap:
print ts

然后您观察到时间戳是 1408173480.93 而不是 1408173480.936543。这是因为 python 中的 print 函数将 float 限制为小数点后两位。

例子:

>>> x = 1258494066.119061
>>> x
1258494066.119061
>>> print x
1258494066.12

如果你真的需要打印完整的值,使用格式:

>>> "{0:.6f}".format(x)
'1258494066.119061'

关于python - 使用 dpkt 的微秒分辨率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23093447/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com