我需要获取两个站点之间的mpls链路的网络流量统计信息。这样做的主要目的是检测顶部的flooders'在一天结束时以及网络超载的确切时刻。
此时我有一个使用Ubuntu的嗅探器,并且我使用wireshark来捕获数据包。内置的统计数据非常棒,但我只能使用不超过150mb的文件(因为文件较大而导致内存泄漏)。因此,我将它们用于精确的时刻,以便在“现场模式”中进行检测。任何即时飞机。但由于悬挂,我不可能让Wirehark整天捕捉交通。
哪些工具更适合用于这些目的? (检测任何'即时' flooder并统计一天中计算机之间的高级谈话者和热门对话)
谢谢。
答案 0 :(得分:0)
初步重要说明:
wireshark没有因为更大的文件而导致内存泄漏"。(非常烦人)的问题是,当打开文件时,wireshark完全解剖 从做到第一个到最后一个数据包之前做任何事情和1 /这可能需要非常长的时间和2 /这意味着wireshark会将整个文件放在内存中,例如wireshark进程将为1GB的跟踪(当然还有自己的内部存储器数据)加重1GB内存,这可能不仅对wireshark而且对整个操作系统都有问题。因此,是的,它可能会变得如此反应迟钝,以至于它看起来像是被吊死了#34;。 不是一个错误 - 而是一个缺少非常复杂的功能来剖析"懒惰"模式。同样适用于实时捕获,它可以即时解析和关联所有内容(以便它知道并遵循TCP对话框),并将整个捕获保存在内存中。在内存和CPU上都会很快变得很重。
明天不会实施 fixed ,所以现在问题出现了:
一个选项不是保存到文件而后者是处理它,而是执行它" live"。您可以使用tshark
(wireshark的终端基本版本)执行此操作,它将像wireshark一样执行捕获,并将其文本输出传输到您自己的解剖/统计分析。
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在&#34;一次通过分析&#34;模式,这当然限制了它可以做的很多分析,但减轻了线路问题&#34;我想剖析一切&#34;。[*]
所以看起来像:
$ sudo tshark -i <your interface> -Y <your display filters> etc etc | your_parsing_and_statistical_tool
当然,您必须为&#34; your_parsing_and_statistical_tool&#34; 编写自己的代码。我不熟悉MPLS,也不了解您感兴趣的统计数据,但这可能只是几个小时(或几天)或Python编码?所以,如果这对你的工作有价值......
[*]:
tshark还有一个选项-2
来执行两次通过分析,但这不会在这里工作,因为必须首先完成第一次传递,这将永远不会发生,因为你没有读取文件而是捕获和分析实时。