【发布时间】:2014-10-30 01:53:07
【问题描述】:
我正在尝试使用 python 从 tcpdump 的输出中计算吞吐量。到目前为止,我从 python 调用 tcpdump 并设法将输出写入文本文件。示例输出:
01:06:23.649464 0us IP (tos 0x0, ttl 128, id 63533, offset 0, flags [none], proto UDP (17), length 72) 251.146.199.137.1066 > 156.96.135.220.62827: UDP , 长度 44
01:06:23.920316 0us IP (tos 0x0, ttl 1, id 10354, offset 0, flags [none], proto IGMP (2), length 32, options (RA)) 251.146.198.120 > fm-dyn- 140-0-193-221.fast.net.id: [|igmp]
但是,我被困在下一部分。提取时间和长度(第一个)并计算吞吐量。我是 python 新手,对正则表达式不清楚。此外,由于时间戳包括微秒,是否有任何简单的方法可以使用它们来计算吞吐量?
提前致谢。
【问题讨论】:
-
不。在这一个中,他们正在读取 tcpdump 的 text 输出;在另一个问题中,他们似乎正在读取 pcap 二进制文件,并且使用正确的 Python 包来读取 pcap 文件,获取时间戳非常容易。从文本中提取它需要更多的工作。
-
@GuyHarris 没错。为了可靠地解析输出,您需要使用文本输出不是的文档格式。
-
好吧,至少现在已经记录了时间戳格式;我刚刚更新了 tcpdump 手册页以记录时间戳格式。 (其余部分没有记录,并且更频繁地更改。)