需要 Wireshark 统计信息的选项

Need an option to Wireshark Statistics

我需要统计两个站点之间 mpls link 的网络流量。这样做的主要目的是在一天结束时和网络处于 'overloaded'.

的精确时刻检测 'top flooders'

此时我有一个带有 Ubuntu 的嗅探器,我正在使用 wireshark 捕获数据包。内置的统计数据很棒,但我只能将它们用于不超过 150mb 的文件(它因内存泄漏而挂起,文件更大)。因此,我将它们用于精确时刻以检测 'live mode' 中的任何即时泛滥。但是挂了wireshark整天抓流量是不可能的。

哪些工具更适合将它们用于这些目的? (检测任何 'instant' flooder 并统计整天计算机之间的顶级谈话者和顶级对话)

谢谢。

初步重要说明:

wireshark 没有 "hang for memory leaks with bigger files".(非常烦人的)问题是当打开一个文件时,wireshark 会完全 在做任何其他事情之前从第一个数据包到最后一个数据包和 1/ 这可能需要非常非常非常长的时间和 2/ 这意味着 wireshark 会将整个文件存储在内存中,例如wireshark 进程将为 1GB 的跟踪分配 1GB 的内存(当然加上它自己的内部内存数据),这可能不仅对 wireshark 而且对整个 OS 都是一个问题。因此,是的,它可能会长时间无响应,以至于看起来像 "hanged"。 不是错误 - 而是在 "lazy" 模式下需要剖析的缺失的非常复杂的功能。 实时捕获也是如此,它剖析并关联所有内容(以便它知道并例如遵循 TCP 对话),并将整个捕获保存在内存中。在内存和 CPU.

上,这很快就会变得很重

这不会在明天实施固定,所以现在解决你的问题:

一个选项是不保存到文件然后处理它,而是这样做 "live"。您可以使用 tshark(wireshark 的终端基础版本)执行此操作,它将像 wireshark 一样进行捕获,并将其文本输出通过管道传输到您自己的 dissecting/statistic 分析。

https://www.wireshark.org/docs/man-pages/tshark.html

它有一个 -Y <displaY filter> 选项,因此您应该能够使用 wireshark 的 MPLS 过滤器:

https://www.wireshark.org/docs/dfref/m/mpls.html

-z <statistics> 选项将无法使用,因为它 display the result after finishing reading the capture file,您将直播。

而 tshark 默认在 "one-pass analysis" 模式下工作,这当然限制了它可以做的很多分析,但缓解了 "I want to dissect everything".[*]

的 wireshark 问题

所以看起来像:

$ sudo tshark -i <your interface> -Y <your display filters> etc etc | your_parsing_and_statistical_tool

当然,您必须为 "your_parsing_and_statistical_tool" 编写自己的代码。我不熟悉 MPLS,也不知道您感兴趣的统计数据,但这可能只是几个小时(或几天)或 Python 编码?所以如果这对你的工作来说是值得的...

[*]: tshark 也有一个选项 -2 来执行两遍分析,但这在这里不起作用,因为第一遍必须先完成,这永远不会发生,因为您不是读取文件而是实时捕获和分析。