Нужна опция для Wireshark Статистика

Мне нужно получить статистику о сетевом трафике ссылки mpls между двумя сайтами. Основная цель этого состоит в том, чтобы обнаружить "лучшие наводнения" в конце дня и в точные моменты, когда сеть "перегружена".

В настоящее время у меня есть сниффер с Ubuntu, и я использую wireshark для захвата пакетов. Встроенная статистика потрясающая, но я могу использовать ее только с файлами размером не более 150 МБ (она требует утечек памяти при работе с файлами большего размера). Поэтому я использую их для точных моментов, чтобы обнаружить в "живом режиме" любой мгновенный флудер. Но я не могу покинуть Wireshark, захватив весь день трафик из-за пристрастий.

Какие инструменты лучше подходят для их использования в этих целях? (выявлять любой "мгновенный" флудер и вести статистику лучших собеседников и самых популярных разговоров между компьютерами за весь день)

Спасибо.

1 ответ

Решение

Предварительная важная заметка:

wireshark не "зависает от утечек памяти с большими файлами". (Очень раздражающая) проблема заключается в том, что при открытии файла wireshark анализирует его полностью от первого до последнего пакета, прежде чем делать что-либо еще, и 1/ это может занять очень очень очень много времени, а 2/ это означает, что wireshark будет иметь весь файл в памяти, например, процесс wireshark будет взвешивать 1 ГБ памяти для трассы в 1 ГБ (плюс, конечно, собственные данные внутренней памяти), что может стать проблемой не только для wireshark, но и для всей ОС. Следовательно, да, он может стать настолько безразличным так долго, что кажется, что он "повешен". Не ошибка - скорее отсутствует очень сложная функция для анализа в "ленивом" режиме. То же самое происходит с оперативным захватом, он анализирует и сопоставляет все (так, чтобы он знал и следовал, например, диалогу TCP) на лету и будет хранить весь захват в памяти. Который может быстро стать довольно тяжелым, как на память, так и на процессор.

И это не будет реализовано завтра, так что теперь к вашей проблеме:

Можно было бы не сохранять в файл и обрабатывать его позже, а делать это "вживую". Вы можете сделать это, используя tshark (терминальная базовая версия wireshark), которая выполняет захват точно так же, как wireshark, и направляет свой текстовый вывод в собственный анализ / анализ статистики.

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

Оно имеет -Y <displaY filter> опция, так что вы сможете использовать фильтры MPLS из wireshark:

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

-z <statistics> опция не будет использоваться, так как display the result after finishing reading the capture file и ты будешь жить в прямом эфире.

И tshark по умолчанию работает в режиме "однопроходного анализа", что, конечно, сильно ограничивает анализ, который он может выполнить, но облегчает проблему с проволочной акулой "Я хочу проанализировать все".[*]

Так что это будет выглядеть так:

$ 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 выполнить двухэтапный анализ, но это не сработает, так как первый проход должен быть выполнен первым, что никогда не произойдет, поскольку вы не читаете файл, а собираете и анализируете в реальном времени.

Другие вопросы по тегам