Анализаторы сетевого трафика: обзор платных и бесплатных решений. Анализаторы сетевых пакетов

Когда обычный пользователь слышит термин «сниффер», он сразу же начинает интересоваться тем, что это такое и зачем оно нужно.

Мы постараемся объяснить все простым языком.

Впрочем, данная статья будет предназначена не только для начинающих юзеров, но и для .

Определение

Сниффер – это анализатор трафика. В свою очередь, трафик – это вся информация, которая проходит через компьютерные сети.

Этот анализатор смотрит, какая информация передается. Для этого ее необходимо перехватить. Фактически, это незаконная вещь, ведь таким образом люди часто получают доступ к чужим данным.

Это можно сравнить с ограблением поезда – классический сюжет большинства вестернов.

Вы передаете какую-то информацию другому пользователю. Ее везет «поезд», то есть сетевой канал.

Придурки из банды кровавого Джо перехватывают состав и грабят его до нитки. В нашем случае информация идет дальше, то есть злоумышленники не крадут ее в прямом смысле этого слова.

Но, допустим, что эта информация представляет собой пароли, личные записи, фотографии и тому подобное.

Злоумышленники могут просто переписать и сфотографировать все это. Таким образом они получат доступ к секретным данным, которые вы хотели бы скрыть.

Да, у вас будет вся эта информация, она к вам дойдет.

Но вы будете знать, что все то же самое знают и совершенно посторонние люди. А ведь в XXI веке больше всего ценится именно информация!

В нашем случае используется именно такой принцип. Определенные люди останавливают трафик, считывают с него данные и отсылают их дальше.

Правда, в случае со снифферами все не всегда так страшно. Они используются не только для того, чтобы получать несанкционированный доступ к данным, а еще и для анализа самого трафика. Это важная часть работ сисадминов и просто админов различных и ресурсов. О применении стоит поговорить более подробно. Но перед этим мы затронем то, как работают эти самые снифферы.

Принцип работы

На практике снифферы могут являть собой портативные устройства, которые в буквальном смысле ставятся на кабель и считывают с него данные, а также программы.

В некоторых случаях это просто набор инструкций, то есть кодов, которые необходимо вводить в определенной последовательности и в определенной среде программирования.

Если более детально, что перехват трафика такими устройствами может считываться одним из следующих способов:

1 Путем установки концентраторов вместо коммутаторов. В принципе, прослушивание сетевого интерфейса можно выполнять и другими способами, но все они малоэффективны.

2 Подключением буквального сниффера в место разрыва канала. Это именно то, о чем шла речь выше – и ставится небольшое устройство, которое и считывает все, что движется по каналу.

3 Установкой ответвления от трафика. Это ответвление направляется на какое-то другое устройство, возможно, расшифровывается и направляется пользователю.

4 Атакой, целью которой является полное перенаправление трафика в сниффер. Конечно же, после попадания информации на считывающее устройство, она опять отправляется конечному пользователю, которому изначально и предназначалась. в чистом виде!

5 Путем анализа электромагнитных излучений , которые возникают из-за движения трафика. Это самый сложный и редко используемый метод.

Вот примерная схема работы второго способа.

Правда, здесь показано, что считывающее устройство просто подключается к кабелю.

На самом же деле сделать это таким образом практически нереально.

Дело в том, что конечный пользователь все равно заметит, что в каком-то месте имеет место разрыв канала.

Сам принцип работы обычного сниффера основывается на том, что в рамках одного сегмента рассылаются всем подключенным машинам. Достаточно глупый, но пока безальтернативный метод! А между сегментами данные передаются при помощи коммутаторов. Вот здесь и появляется возможность перехвата информации одним из вышеперечисленных способов.

Собственно, это и называется кибератаками и хаккерством!

Кстати, если грамотно установить эти самые коммутаторы, то можно полностью защитить сегмент от всевозможных кибератак.

Существуют и другие методы защиты, о которых мы еще поговорим в самом конце.

Применение

Разумеется, в первую очередь, данное понятие имеет то применение, о котором шла речь выше, то есть хаккерские атаки и незаконное получение пользовательских данных.

Но кроме этого, снифферы используют и в других сферах, а конкретно, в работе системных администраторов.

В частности, такие приспособления или программы помогают выполнить такие задачи:

Как видим, рассматриваемые нами приспособления или программы способны очень сильно облегчить работу системных администраторов и других людей, которые пользуются сетями. А это все мы.

Теперь переходим к самому интересному – обзору программ-снифферов.

Выше мы разобрались, что они могут быть выполнены в виде физических приспособлений, но в большинстве случаев используются специальные .

Их изучением и займемся.

Программы-сниферы

Вот список наиболее популярных таких программ:

CommView . Программа платная, как и все остальных в нашем списке. Одна минимальная лицензия стоит 300 долларов. Зато функционал у ПО богатейший. Первое, что стоит отметить, так это возможность самостоятельной установки правил . К примеру, можно сделать так, чтобы (это протоколы) полностью игнорировались. Примечательно также, что программа позволяет просматривать детали и лог всех пересылаемых пакетов. Существует обычная версия и версия для Wi-Fi .

SpyNet. Это, фактически, троян, от которых мы все так устали. Но он может использоваться и в благородных целях, о которых мы говорили выше. Программа выполняет перехват и , которые есть в трафике. Есть множество необычных функций. К примеру, можно воссоздавать страницы в интернете, на которых побывала «жертва». Примечательно, что это ПО бесплатное, но найти его достаточно непросто.

BUTTSniffer. Это сниффер в чистом виде, который помогает анализировать сетевые пакеты, а не перехватывать чужие пароли и историю браузера. По крайней мере, так думал ее автор. На самом же деле его творение используется сами понимаете для чего. Это обычная пакетная программа, которая работает через командную строку. Для начала использования загружаются и запускаются два файла. «Захваченные» пакеты сохраняются на жестком диске, что очень удобно.

Существует множество других программ-снифферов. К примеру, известны fsniff, WinDump, dsniff, NatasX, NetXRay, CooperSniffer, LanExplorer, Net Analyzer и многие другие. Выбирайте любую! Но, справедливости ради стоит отметить, что лучшая – CommView.

Итак, мы разобрали, что такое снифферы, как они работают и какие бывают.

Теперь перейдем с места хакера или сисадмина на место обычного юзера.

Мы прекрасно понимаем, что наши данные могут украсть. Что же делать, чтобы этого не произошло?

Анализаторы сетевых пакетов, или снифферы, первоначально были разработаны как средство решения сетевых проблем. Они умеют перехватывать, интерпретировать и сохранять для последующего анализа пакеты, передаваемые по сети. С одной стороны, это позволяет системным администраторам и инженерам службы технической поддержки наблюдать за тем, как данные передаются по сети, диагностировать и устранять возникающие проблемы. В этом смысле пакетные снифферы представляют собой мощный инструмент диагностики сетевых проблем. С другой стороны, подобно многим другим мощным средствам, изначально предназначавшимся для администрирования, с течением времени снифферы стали применяться абсолютно для других целей. Действительно, сниффер в руках злоумышленника представляет собой довольно опасное средство и может использоваться для завладения паролями и другой конфиденциальной информацией. Однако не стоит думать, что снифферы — это некий магический инструмент, посредством которого любой хакер сможет легко просматривать конфиденциальную информацию, передаваемую по сети. И прежде чем доказать, что опасность, исходящая от снифферов, не столь велика, как нередко преподносят, рассмотрим более детально принципы их функционирования.

Принципы работы пакетных снифферов

Дальнейшем в рамках данной статьи мы будем рассматривать только программные снифферы, предназначенные для сетей Ethernet. Сниффер — это программа, которая работает на уровне сетевого адаптера NIC (Network Interface Card) (канальный уровень) и скрытым образом перехватывает весь трафик. Поскольку снифферы работают на канальном уровне модели OSI, они не должны играть по правилам протоколов более высокого уровня. Снифферы обходят механизмы фильтрации (адреса, порты и т.д.), которые драйверы Ethernet и стек TCP/IP используют для интерпретации данных. Пакетные снифферы захватывают из провода все, что по нему приходит. Снифферы могут сохранять кадры в двоичном формате и позже расшифровывать их, чтобы раскрыть информацию более высокого уровня, спрятанную внутри (рис. 1).

Для того чтобы сниффер мог перехватывать все пакеты, проходящие через сетевой адаптер, драйвер сетевого адаптера должен поддерживать режим функционирования promiscuous mode (беспорядочный режим). Именно в этом режиме работы сетевого адаптера сниффер способен перехватывать все пакеты. Данный режим работы сетевого адаптера автоматически активизируется при запуске сниффера или устанавливается вручную соответствующими настройками сниффера.

Весь перехваченный трафик передается декодеру пакетов, который идентифицирует и расщепляет пакеты по соответствующим уровням иерархии. В зависимости от возможностей конкретного сниффера представленная информация о пакетах может впоследствии дополнительно анализироваться и отфильтровываться.

Ограничения использования снифферов

аибольшую опасность снифферы представляли в те времена, когда информация передавалась по сети в открытом виде (без шифрования), а локальные сети строились на основе концентраторов (хабов). Однако эти времена безвозвратно ушли, и в настоящее время использование снифферов для получения доступа к конфиденциальной информации — задача отнюдь не из простых.

Дело в том, что при построении локальных сетей на основе концентраторов существует некая общая среда передачи данных (сетевой кабель) и все узлы сети обмениваются пакетами, конкурируя за доступ к этой среде (рис. 2), причем пакет, посылаемый одним узлом сети, передается на все порты концентратора и этот пакет прослушивают все остальные узлы сети, но принимает его только тот узел, которому он адресован. При этом если на одном из узлов сети установлен пакетный сниффер, то он может перехватывать все сетевые пакеты, относящиеся к данному сегменту сети (сети, образованной концентратором).

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

Поэтому если сеть построена на основе коммутатора, то сниффер, установленный на одном из компьютеров сети, способен перехватывать только те пакеты, которыми обменивается данный компьютер с другими узлами сети. В результате, чтобы иметь возможность перехватывать пакеты, которыми интересующий злоумышленника компьютер или сервер обменивается с остальными узлами сети, необходимо установить сниффер именно на этом компьютере (сервере), что на самом деле не так-то просто. Правда, следует иметь в виду, что некоторые пакетные снифферы запускаются из командной строки и могут не иметь графического интерфейса. Такие снифферы, в принципе, можно устанавливать и запускать удаленно и незаметно для пользователя.

Кроме того, необходимо также иметь в виду, что, хотя коммутаторы изолируют сетевой трафик, все управляемые коммутаторы имеют функцию перенаправления или зеркалирования портов. То есть порт коммутатора можно настроить таким образом, чтобы на него дублировались все пакеты, приходящие на другие порты коммутатора. Если в этом случае к такому порту подключен компьютер с пакетным сниффером, то он может перехватывать все пакеты, которыми обмениваются компьютеры в данном сетевом сегменте. Однако, как правило, возможность конфигурирования коммутатора доступна только сетевому администратору. Это, конечно, не означает, что он не может быть злоумышленником, но у сетевого администратора существует множество других способов контролировать всех пользователей локальной сети, и вряд ли он будет следить за вами столь изощренным способом.

Другая причина, по которой снифферы перестали быть настолько опасными, как раньше, заключается в том, что в настоящее время наиболее важные данные передаются в зашифрованном виде. Открытые, незашифрованные службы быстро исчезают из Интернета. К примеру, при посещении web-сайтов все чаще используется протокол SSL (Secure Sockets Layer); вместо открытого FTP используется SFTP (Secure FTP), а для других служб, которые не применяют шифрование по умолчанию, все чаще используются виртуальные частные сети (VPN).

Итак, те, кто беспокоится о возможности злонамеренного применения пакетных снифферов, должны иметь в виду следующее. Во-первых, чтобы представлять серьезную угрозу для вашей сети, снифферы должны находиться внутри самой сети. Во-вторых, сегодняшние стандарты шифрования чрезвычайно затрудняют процесс перехвата конфиденциальной информации. Поэтому в настоящее время пакетные снифферы постепенно утрачивают свою актуальность в качестве инструментов хакеров, но в то же время остаются действенным и мощным средством для диагностирования сетей. Более того, снифферы могут с успехом использоваться не только для диагностики и локализации сетевых проблем, но и для аудита сетевой безопасности. В частности, применение пакетных анализаторов позволяет обнаружить несанкционированный трафик, обнаружить и идентифицировать несанкционированное программное обеспечение, идентифицировать неиспользуемые протоколы для удаления их из сети, осуществлять генерацию трафика для испытания на вторжение (penetration test) с целью проверки системы защиты, работать с системами обнаружения вторжений (Intrusion Detection System, IDS).

Обзор программных пакетных снифферов

се программные снифферы можно условно разделить на две категории: снифферы, поддерживающие запуск из командной строки, и снифферы, имеющие графический интерфейс. При этом отметим, что существуют снифферы, которые объединяют в себе обе эти возможности. Кроме того, снифферы отличаются друг от друга протоколами, которые они поддерживают, глубиной анализа перехваченных пакетов, возможностями по настройке фильтров, а также возможностью совместимости с другими программами.

Обычно окно любого сниффера с графическим интерфейсом состоит их трех областей. В первой из них отображаются итоговые данные перехваченных пакетов. Обычно в этой области отображается минимум полей, а именно: время перехвата пакета; IP-адреса отправителя и получателя пакета; MAC-адреса отправителя и получателя пакета, исходные и целевые адреса портов; тип протокола (сетевой, транспортный или прикладного уровня); некоторая суммарная информация о перехваченных данных. Во второй области выводится статистическая информация об отдельном выбранном пакете, и, наконец, в третьей области пакет представлен в шестнадцатеричном виде или в символьной форме — ASCII.

Практически все пакетные снифферы позволяют производить анализ декодированных пакетов (именно поэтому пакетные снифферы также называют пакетными анализаторами, или протокольными анализаторами). Сниффер распределяет перехваченные пакеты по уровням и протоколам. Некоторые анализаторы пакетов способны распознавать протокол и отображать перехваченную информацию. Этот тип информации обычно отображается во второй области окна сниффера. К примеру, любой сниффер способен распознавать протокол TCP, а продвинутые снифферы умеют определять, каким приложением порожден данный трафик. Большинство анализаторов протоколов распознают свыше 500 различных протоколов и умеют описывать и декодировать их по именам. Чем больше информации в состоянии декодировать и представить на экране сниффер, тем меньше придется декодировать вручную.

Одна из проблем, с которой могут сталкиваться анализаторы пакетов, — невозможность корректной идентификации протокола, использующего порт, отличный от порта по умолчанию. К примеру, с целью повышения безопасности некоторые известные приложения могут настраиваться на применение портов, отличных от портов по умолчанию. Так, вместо традиционного порта 80, зарезервированного для web-сервера, данный сервер можно принудительно перенастроить на порт 8088 или на любой другой. Некоторые анализаторы пакетов в подобной ситуации не способны корректно определить протокол и отображают лишь информацию о протоколе нижнего уровня (TCP или UDP).

Существуют программные снифферы, к которым в качестве плагинов или встроенных модулей прилагаются программные аналитические модули, позволяющие создавать отчеты с полезной аналитической информацией о перехваченном трафике.

Другая характерная черта большинства программных анализаторов пакетов — возможность настройки фильтров до и после захвата трафика. Фильтры выделяют из общего трафика определенные пакеты по заданному критерию, что позволяет при анализе трафика избавиться от лишней информации.

Оригинал: 8 best packet sniffers and network analyzers
Автор: Jon Watson
Дата публикации: 22 ноября 2017 года
Перевод: А. Кривошей
Дата перевода: декабрь 2017 г.

Сниффинг пакетов - это разговорный термин, который относится к искусству анализа сетевого трафика. Вопреки распространенному мнению, такие вещи, как электронные письма и веб-страницы, не проходят через сеть интернет одним куском. Они разбиты на тысячи небольших пакетов данных и таким образом отправляются через интернет. В этой статье мы рассмотрим лучшие бесплатные анализаторы сети и снифферы пакетов.

Есть множество утилит, которые собирают сетевой трафик, и большинство из них используют pcap (в Unix-подобных системах) или libcap (в Windows) в качестве ядра. Другой вид утилит помогает анализировать эти данные, так как даже небольшой объем траффика может генерировать тысячи пакетов, в которых трудно ориентироваться. Почти все эти утилиты мало отличаются друг от друга в сборе данных, основные отличия заключаются в том, как они анализируют данные.

Анализ сетевого трафика требует понимания того, как работает сеть. Нет никакого инструмента, который бы волшебным образом заменил знания аналитика об основах работы сети, такие как "3-х этапное рукопожатие" TCP, которое используется для инициирования соединения между двумя устройствами. Аналитики также должны иметь некоторое представление о типах сетевого трафика в нормально функционирующей сети, таких как ARP и DHCP. Это знание важно, потому что аналитические инструменты просто покажут вам то, о чем вы их попросите. Вам решать, что нужно просить. Если вы не знаете, как обычно выглядит ваша сеть, может быть сложно понять, что вы нашли то, что нужно, в массе собранных вами пакетов.

Лучшие снифферы пакетов и анализаторы сети

Промышленные инструменты

Начнем с вершины и далее спустимся к основам. Если вы имеете дело с сетью уровня предприятия, вам понадобится большая пушка. Хотя в основе почти все использует tcpdump (подробнее об этом позже), инструменты уровня предприятия могут решать определенные сложные проблемы, такие как корреляция трафика со множества серверов, предоставление интеллектуальных запросов для выявления проблем, предупреждение об исключениях и создание хороших графиков, чего всегда требует начальство.

Инструменты уровня предприятия, как правило, заточены на потоковую работу с сетевым трафиком, а не на оценку содержимого пакетов. Под этим я подразумеваю, что основное внимание большинства системных администраторов на предприятии заключается в том, чтобы сеть не имела узких мест в производительности. Когда такие узкие места возникают, цель обычно заключается в том, чтобы определить, вызвана ли проблема сетью или приложением в сети. С другой стороны, эти инструменты обычно могут обрабатывать такой большой трафик, что они могут помочь предсказать момент, когда сегмент сети будет полностью загружен, что является критическим моментом управления пропускной способностью сети.

Это очень большой набор инструментов управления IT. В этой статье более уместна утилита Deep Packet Inspection and Analysis которая является его составной частью. Сбор сетевого трафика довольно прост. С использованием таких инструментов, как WireShark, базовый анализ также не является проблемой. Но не всегда ситуация полностью понятна. В очень загруженной сети может быть трудно определить даже очень простые вещи, например:

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

Большинство сетевых устройств, чтобы убедиться, что пакет идет туда, куда нужно, используют метаданные каждого пакета. Содержимое пакета неизвестно сетевому устройству. Другое дело - глубокая инспекция пакетов; это означает, что проверяется фактическое содержимое пакета. Таким образом можно обнаружить критическую сетевую информацию, которую нельзя почерпнуть из метаданных. Инструменты, подобные тем, которые предоставляются SolarWinds, могут выдавать более значимые данные, чем просто поток трафика.

Другие технологии управления сетями с большим объемом данных включают NetFlow и sFlow. У каждой есть свои сильные и слабые стороны,

Вы можете узнать больше о NetFlow и sFlow.

Анализ сетей в целом является передовой темой, которая базируется как на основе полученных знаний, так и на основе практического опыта работы. Можно обучить человека детальным знаниям о сетевых пакетах, но если этот человек не обладает знаниями о самой сети, и не имеет опыта выявления аномалий, он не слишком преуспеет. Инструменты, описанные в этой статье, должны использоваться опытными сетевыми администраторами, которые знают, что они хотят, но не уверены в том, какая утилита лучше. Они также могут использоваться менее опытными системными администраторами, чтобы получить повседневный опыт работы с сетями.

Основы

Основным инструментом для сбора сетевого трафика является

Это приложение с открытым исходным кодом, которое устанавливается практически во всех Unix-подобных операционных системах. Tcpdump - отличная утилита для сбора данных, которая имеет очень сложный язык фильтрации. Важно знать, как фильтровать данные при их сборе, чтобы в итоге получить нормальный набор данных для анализа. Захват всех данных с сетевого устройства даже в умеренно загруженной сети может породить слишком много данных, которые будет очень трудно проанализировать.

В некоторых редких случаях достаточно будет выводить захваченные tcpdump данные прямо на экран, чтобы найти то, что вам нужно. Например, при написании этой статьи я собрал трафик и заметил, что моя машина отправляет трафик на IP-адрес, который я не знаю. Оказывается, моя машина отправляла данные на IP-адрес Google 172.217.11.142. Поскольку у меня не было никаких продуктов Google, и не был открыт Gmail, я не знал, почему это происходит. Я проверил свою систему и нашел следующее:

[ ~ ]$ ps -ef | grep google user 1985 1881 0 10:16 ? 00:00:00 /opt/google/chrome/chrome --type=service

Оказывыается, что даже когда Chrome не работает, он остается запущенным как служба. Я не заметил бы этого без анализа пакетов. Я перехватил еще несколько пакетов данных, но на этот раз дал tcpdump задачу записать данные в файл, который затем открыл в Wireshark (подробнее об этом позже). Вот эти записи:

Tcpdump - любимый инструмент системных администраторов, потому что это утилита командной строки. Для запуска tcpdump не требуется графический интерфейс. Для производственных серверов графический интерфес скорее вреден, так как потребляет системные ресурсы, поэтому предпочтительны программы командной строки. Как и многие современные утилиты, tcpdump имеет очень богатый и сложный язык, который требует некоторого времени для его освоения. Несколько самых базовых команд включают в себя выбор сетевого интерфейса для сбора данных и запись этих данных в файл, чтобы его можно было экспортировать для анализа в другом месте. Для этого используются переключатели -i и -w.

# tcpdump -i eth0 -w tcpdump_packets tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes ^C51 packets captured

Эта команда создает файл с захваченными данными:

File tcpdump_packets tcpdump_packets: tcpdump capture file (little-endian) - version 2.4 (Ethernet, capture length 262144)

Стандартом для таких файлов является формат pcap. Он не является текстом, поэтому его можно анализировать только с помощью программ, которые понимают данный формат.

3. Windump

Большинство полезных утилит с открытым исходным кодом в конечном итоге клонируют в другие операционные системы. Когда это происходит, говорят, что приложение было перенесено. Windump - это порт tcpdump и ведет себя очень похожим образом.

Самое существенное различие между Windump и tcpdump заключается в том, что Windump нуждается в библиотеке Winpcap, установленной до запуска Windump. Несмотря на то, что Windump и Winpcap предоставляются одним и тем же майнтайнером, их нужно скачивать отдельно.

Winpcap - это библиотека, которая должна быть предварительно установлена. Но Windump - это exe-файл, который не нуждается в установке, поэтому его можно просто запускать. Это нужно иметь в виду, если вы используете сеть Windows. Вам не обязательно устанавливать Windump на каждой машине, поскольку вы можете просто копировать его по мере необходимости, но вам понадобится Winpcap для поддержки Windup.

Как и в случае с tcpdump, Windump может выводить сетевые данные на экран для анализа, фильтровать таким же образом, а также записывать данные в файл pcap для последующего анализа.

4. Wireshark

Wireshark является следующим самым известным инструментом в наборе системного администратора. Он позволяет не только захватывать данные, но также предоставляет некоторые расширенные инструменты анализа. Кроме того, Wireshark является программой с открытым исходным кодом и перенесен практически на все существующие серверные операционные системы. Под названием Etheral, Wireshark теперь работает везде, в том числе в качестве автономного переносимого приложения.

Если вы анализируете трафик на сервере с графическим интерфейсом, Wireshark может сделать все за вас. Он может собрать данные, а затем анализировать их все здесь же. Однако на серверах графический интерфейс встречается редко, поэтому вы можете собирать сетевые данные удаленно, а затем изучать полученный файл pcap в Wireshark на своем компьютере.

При первом запуске Wireshark позволяет либо загрузить существующий файл pcap, либо запустить захват трафика. В последнем случае вы можете дополнительно задать фильтры для уменьшения количества собираемых данных. Если вы не укажете фильтр, Wireshark будет просто собирать все сетевые данные с выбранного интерфейса.

Одной из самых полезных возможностей Wireshark является возможность следовать за потоком. Лучше всего представить поток как цепочку. На скриншоте ниже мы можем видеть множество захваченных данных, но меня больше всего интересовал IP-адрес Google. Я могу щелкнуть правой кнопкой мыши и следовать потоку TCP, чтобы увидеть всю цепочку.

Если захват трафика производился на другом компьютере, вы можете импортировать файл PCAP с помощью диалога Wireshark File -> Open. Для импортированных файлов доступны те же фильтры и инструменты, что и для захваченных сетевых данных.

5. tshark

Tshark - это очень полезное звено между tcpdump и Wireshark. Tcpdump превосходит их при сборе данных и может хирургически извлекать только те данные, которые вам нужны, однако его возможности анализа данных очень ограничены. Wireshark отлично справляется как с захватом, так и с анализом, но имеет тяжелый пользовательский интерфейс и не может использоваться на серверах без графического интерфейса. Попробуйте tshark, он работает в командной строке.

Tshark использует те же правила фильтрации, что и Wireshark, что не должно удивлять, так как они по сути являются одним и тем же продуктом. Приведенная ниже команда говорит tshark только о том, что необходимо захватить IP-адрес пункта назначения, а также некоторые другие интересующие нас поля из HTTP-части пакета.

# tshark -i eth0 -Y http.request -T fields -e ip.dst -e http.user_agent -e http.request.uri 172.20.0.122 Mozilla/5.0 (X11; Linux x86_64; rv:57.0) Gecko/20100101 Firefox/57.0 /images/title.png 172.20.0.122 Mozilla/5.0 (X11; Linux x86_64; rv:57.0) Gecko/20100101 Firefox/57.0 /images/styles/phoenix.css 172.20.0.122 Mozilla/5.0 (X11; Linux x86_64; rv:57.0) Gecko/20100101 Firefox/57.0 /images/code/jquery_lightbox/jquery_lightbox/js/jquery-1.2.6.pack.js 172.20.0.122 Mozilla/5.0 (X11; Linux x86_64; rv:57.0) Gecko/20100101 Firefox/57.0 /images/styles/index.css 172.20.0.122 Mozilla/5.0 (X11; Linux x86_64; rv:57.0) Gecko/20100101 Firefox/57.0 /images/images/title.png 172.20.0.122 Mozilla/5.0 (X11; Linux x86_64; rv:57.0) Gecko/20100101 Firefox/57.0 /favicon.ico 172.20.0.122 Mozilla/5.0 (X11; Linux x86_64; rv:57.0) Gecko/20100101 Firefox/57.0 /favicon.ico

Если вы хотите записать трафик в файл, используйте для этого параметр-W, а затем переключатель -r (чтение), чтобы прочитать его.

Сначала захват:

# tshark -i eth0 -w tshark_packets Capturing on "eth0" 102 ^C

Прочитайте его здесь же, или перенесите в другое место для анализа.

# tshark -r tshark_packets -Y http.request -T fields -e ip.dst -e http.user_agent -e http.request.uri 172.20.0.122 Mozilla/5.0 (X11; Linux x86_64; rv:57.0) Gecko/20100101 Firefox/57.0 /contact 172.20.0.122 Mozilla/5.0 (X11; Linux x86_64; rv:57.0) Gecko/20100101 Firefox/57.0 /reservations/ 172.20.0.122 Mozilla/5.0 (X11; Linux x86_64; rv:57.0) Gecko/20100101 Firefox/57.0 /reservations/styles/styles.css 172.20.0.122 Mozilla/5.0 (X11; Linux x86_64; rv:57.0) Gecko/20100101 Firefox/57.0 /res/code/jquery_lightbox/jquery_lightbox/js/jquery-1.2.6.pack.js 172.20.0.122 Mozilla/5.0 (X11; Linux x86_64; rv:57.0) Gecko/20100101 Firefox/57.0 /res/styles/index.css 172.20.0.122 Mozilla/5.0 (X11; Linux x86_64; rv:57.0) Gecko/20100101 Firefox/57.0 /res/images/title.png

Это очень интересный инструмент, который скорее попадает в категорию инструментов сетевого криминалистического анализа, а не просто снифферов. Сфера криминалистики, как правило, занимается расследованиями и сбором доказательств, и Network Miner выполняет эту работу просто отлично. Также, как wireshark может следовать потоку TCP, чтобы восстановить всю цепочку передачи паков, Network Miner может следовать потоку для того, чтобы восстановить файлы, которые были переданы по сети.

Network Miner может быть стратегически размещен в сети, чтобы иметь возможность наблюдать и собирать трафик, который вас интересует, в режиме реального времени. Он не будет генерировать свой собственный трафик в сети, поэтому будет работать скрытно.

Network Miner также может работать в автономном режиме. Вы можете использовать tcpdump, чтобы собрать пакеты в интересующей вас точке сети, а затем импортировать файлы PCAP в Network Miner. Далее можно будет попробовать восстановить какие-либо файлы или сертификаты, найденные в записанном файле.

Network Miner сделан для Windows, но с помощью Mono он может быть запущен в любой ОС, которая поддерживает платформу Mono, например Linux и MacOS.

Есть бесплатная версия, начального уровня, но с приличным набором функций. Если вам нужны дополнительные возможности, такие как геолокация и пользовательские сценарии, потребуется приобрести профессиональную лицензию.

7. Fiddler (HTTP)

Технически не является утилитой для захвата сетевых пакетов, но он так невероятно полезен, что попал в этот список. В отличие от других перечисленных здесь инструментов, которые предназначены для захвата трафика в сети из любого источника, Fiddler скорее служит инструментом отладки. Он захватывает HTTP трафик. Хотя многие браузеры уже имеют эту возможность в своих средствах разработчика, Fiddler не ограничивается трафиком браузера. Fiddler может захватить любой HTTP-трафик на компьютере, в том числе и не из веб-приложений.

Многие настольные приложения используют HTTP для подключения к веб-службам, и помимо Fiddler, единственным способом захвата такого трафика для анализа является использование таких инструментов, как tcpdump или Wireshark. Однако они работают на уровне пакетов, поэтому для анализа необходимо реконструировать этии пакеты в потоки HTTP. Это может потребовать много работы для выполнения простых исследований и здесь на помощь приходит Fiddler. Fiddler поможет обнаружить куки, сертификаты, и прочие полезные данные, отправляемые приложениями.

Fiddler является бесплатным и, так же, как Network Miner, он может быть запущен в Mono практически на любой операционной системе.

8. Capsa

Анализатор сети Capsa имеет несколько редакций, каждая из которых имеет различные возможности. На первом уровне Capsa бесплатна, и она по существу позволяет просто захватывает пакеты и производить их базовый графический анализ. Панель мониторинга уникальна и может помочь неопытному системному администратору быстро определить проблемы в сети. Бесплатный уровень предназначен для людей, которые хотят узнать больше о пакетах, и наращивать свои навыки в анализе.

Бесплатная версия позволяет контролировать более 300 протоколов, подходит для мониторинга электронной почты, а также сохранения содержимого электронной почты, она также поддерживает триггеры, которые могут использоваться для включения оповещений при возникновении определенных ситуаций. В связи с этим Capsa в какой-то степени может использоваться в качестве средства поддержки.

Capsa доступна только для Windows 2008/Vista/7/8 и 10.

Заключение

Несложно понять, как с помощью описанных нами инструментов системный админимтратор может создать инфраструктуру мониторинга сети. Tcpdump или Windump могут быть установлены на всех серверах. Планировщик, такой как cron или планировщик Windows, в нужный момент запускает сеанса сбора пакетов и записывает собранные данные в файл pcap. Далее системный администратор может передать эти пакеты центральной машине и анализировать их с помощью wireshark. Если сеть слишком велика для этого, имеются инструменты корпоративного уровня, такие как SolarWinds, чтобы превратить все сетевые пакеты в управляемый набор данных.

Почитайте другие статьи о перехвате и анализе сетевого трафика :

  • Dan Nanni, Утилиты с интерфейсом командной строки для мониторинга сетевого трафика в Linux
  • Paul Cobbaut, Администрирование систем Linux. Перехват сетевого трафика
  • Paul Ferrill, 5 инструментов для мониторинга сети в Linux
  • Pankaj Tanwar, Захват пакетов при помощи библиотеки libpcap
  • Riccardo Capecchi, Использование фильтров в Wireshark
  • Nathan Willis, Анализ сети с помощью Wireshark
  • Prashant Phatak,

У каждого из команды ][ свои предпочтения по части софта и утилит для
пен-теста. Посовещавшись, мы выяснили, что выбор так разнится, что можно
составить настоящий джентльменский набор из проверенных программ. На том и
решили. Чтобы не делать сборную солянку, весь список мы разбили на темы – и в
этот раз коснемся утилит для снифинга и манипулирования пакетами. Пользуйся на
здоровье.

Wireshark

Netcat

Если говорить о перехвате данных, то Network Miner снимет с «эфира»
(или из заранее подготовленного дампа в PCAP-формате) файлы, сертификаты,
изображения и другие медиа, а также пароли и прочую инфу для авторизации.
Полезная возможность — поиск тех участков данных, что содержат ключевые слова
(например, логин пользователя).

Scapy

Сайт:
www.secdev.org/projects/scapy

Must-have для любого хакера, представляющий собой мощнейшую тулзу для
интерактивной манипуляции пакетами. Принять и декодировать пакеты самых
различных протоколов, ответить на запрос, инжектировать модифицированный и
собственноручно созданный пакет — все легко! С ее помощью можно выполнять целый
ряд классических задач, вроде сканирования, tracorute, атак и определения
инфраструктуры сети. В одном флаконе мы получаем замену таких популярных утилит,
как: hping, nmap, arpspoof, arp-sk, arping, tcpdump, tetheral, p0f и т.д. В то
же самое время Scapy позволяет выполнить любое, даже самое специфическое
задание, которое никогда не сможет сделать уже созданное другим разработчиком
средство. Вместо того чтобы писать целую гору строк на Си, чтобы, например,
сгенерировать неправильный пакет и сделать фаззинг какого-то демона, достаточно
накидать пару строчек кода с использованием Scapy ! У программы нет
графического интерфейса, а интерактивность достигается за счет интерпретатора
Python. Чуть освоишься, и тебе уже ничего не будет стоить создать некорректные
пакеты, инжектировать нужные фреймы 802.11, совмещать различные подходы в атаках
(скажем, ARP cache poisoning и VLAN hopping) и т.д. Разработчики сами настаивают
на том, чтобы возможности Scapy использовались в других проектах. Подключив ее
как модуль, легко создать утилиту для различного рода исследования локалки,
поиска уязвимостей, Wi-Fi инжекции, автоматического выполнения специфических
задач и т.д.

packeth

Сайт:
Платформа: *nix, есть порт под Windows

Интересная разработка, позволяющая, с одной стороны, генерировать любой
ethernet пакет, и, с другой, отправлять последовательности пакетов с целью
проверки пропускной способности. В отличие от других подобных тулз, packeth
имеет графический интерфейс, позволяя создавать пакеты в максимально простой
форме. Дальше — больше. Особенно проработано создание и отправка
последовательностей пакетов. Ты можешь устанавливать задержки между отправкой,
слать пакеты с максимальной скоростью, чтобы проверить пропускную способность
участка сети (ага, вот сюда-то и будут ддосить) и, что еще интереснее —
динамически изменять параметры в пакетах (например, IP или MAC-адрес).

ОБЗОР ПРОГРАММ АНАЛИЗА И МОНИТОРИНГА СЕТЕВОГО ТРАФИКА

А.И. КОСТРОМИЦКИЙ, канд. техн. наук, В.С. ВОЛОТКА

Введение

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

В недалеком прошлом мониторинг трафика был относительно простой задачей. Как правило, компьютеры объединялись в сеть на основе шинной топологии, т. е. имели разделяемую среду передачи. Это позволяло подсоединить к сети единственное устройство, с помощью которого можно было следить за всем трафиком. Однако требования к повышению пропускной способности сети и развитие технологий коммутации пакетов, вызвавшее падение цен на коммутаторы и маршрутизаторы, обусловили быстрый переход от разделяемой среды передачи к высокосегментированным топологиям. Общий трафик уже нельзя увидеть из одной точки. Для получения полной картины требуется выполнять мониторинг каждого порта. Использование соединений типа «точка-точка» делает неудобным подключение приборов, да и понадобилось бы слишком большое их число для прослушивания всех портов, что превращается в чересчур дорогостоящую задачу. Вдобавок сами коммутаторы и маршрутизаторы имеют сложную архитектуру, и скорость обработки и передачи пакетов становится важным фактором, определяющим производительность сети.

Одной из актуальных научных задач в настоящее время является анализ (и дальнейшее прогнозирование) самоподобной структуры трафика в современных мультисервисных сетях. Для решения этой задачи необходим сбор и последующий анализ разнообразной статистики (скорость, объемы переданных данных и т.д.) в действующих сетях. Сбор такой статистики в том или ином виде возможен различными программными средствами. Однако существует набор дополнительных параметров и настроек, которые оказываются весьма важными при практическом использовании различных средств.

Различные исследователи используют самые различные программы для мониторинга сетевого трафика. Например, в , исследователи использовали программу - анализатор (сниффер) сетевого трафика Ethreal (Wireshark ).

Обзору подверглись бесплатные версии программ, которые доступны на , , .

1. Обзор программ мониторинга сетевого трафика

Были рассмотрены около десяти программ-анализаторов трафика (снифферы) и более десятка программ для мониторинга сетевого трафика, из которых мы отобрали по четыре самых интересных, на наш взгляд, и предлагаем вам обзор их основных возможностей.

1) BMExtreme (рис.1).

Это новое название хорошо известной многим программы Bandwidth Monitor. Ранее программа распространялась бесплатно, теперь же она имеет три версии, и бесплатной является только базовая. В этой версии не предусмотрено никаких возможностей, кроме, собственно, мониторинга трафика, поэтому вряд ли можно считать ее конкурентом других программ. По умолчанию BMExtreme следит как за Интернет-трафиком, так и за трафиком в локальной сети, однако мониторинг в LAN при желании можно отключить.

Рис. 1

2) BWMeter (рис.2).

Эта программа имеет не одно, а два окна слежения за трафиком: в одном отображается активность в Интернете, а в другом - в локальной сети.


Рис. 2

Программа имеет гибкие настройки для мониторинга трафика. С ее помощью можно определить, нужно ли следить за приемом и передачей данных в Интернет только с этого компьютера или со всех компьютеров, подключенных к локальной сети, установить диапазон IP-адресов, порты и протоколы, для которых будет или не будет производиться мониторинг. Кроме этого, можно отключить слежение за трафиком в определенные часы или дни. Системные администраторы наверняка оценят возможность распределения трафика между компьютерами в локальной сети. Так, для каждого ПК можно задать максимальную скорость приема и передачи данных, а также одним щелчком мыши запретить сетевую активность.

При весьма миниатюрном размере программа обладает огромным множеством возможностей, часть из которых можно представить так:

Мониторинг любых сетевых интерфейсов и любого сетевого трафика.

Мощная система фильтров, позволяющая оценить объем любой части трафика - вплоть до конкретного сайта в указанном направлении или трафика с каждой машины в локальной сети в указанное время суток.

Неограниченное количество настраиваемых графиков активности сетевых соединений на основе выбранных фильтров.

Управление (ограничение, приостановка) потоком трафика на любом из фильтров.

Удобная система статистики (от часа до года) с функцией экспорта.

Возможность просмотра статистики удаленных компьютеров с BWMeter.

Гибкая система оповещений и уведомлений по достижении определенного события.

Максимальные возможности по настройке, в т.ч. внешнего вида.

Возможность запуска как сервиса.

3) Bandwidth Monitor Pro (рис.3).

Её разработчики очень много внимания уделили настройке окна мониторинга трафика. Во-первых, можно определить, какую именно информацию программа будет постоянно показывать на экране. Это может быть количество полученных и переданных данных (как отдельно, так и в сумме) за сегодня и за любой указанный промежуток времени, среднюю, текущую и максимальную скорость соединения. Если у вас установлено несколько сетевых адаптеров, вы можете следить за статистикой для каждого из них отдельно. При этом, нужная информация для каждой сетевой карты также может отображаться в окне мониторинга.


Рис. 3

Отдельно стоит сказать о системе оповещений, которая реализована тут очень удачно. Можно задавать поведение программы при выполнении заданных условий, которыми могут быть передача определенного количества данных за указанный период времени, достижение максимальной скорости загрузки, изменение скорости соединения и пр. Если на компьютере работает несколько пользователей, и необходимо следить за общим трафиком, программу можно запускать как службу. В этом случае Bandwidth Monitor Pro будет собирать статистику всех пользователей, которые заходят в систему под своими логинами.

4) DUTraffic (рис.4).

От всех программ обзора DUTraffic отличает бесплатный статус.


Рис. 4

Как и коммерческие аналоги, DUTraffic может выполнять разнообразные действия при выполнении тех или иных условий. Так, например, он может проигрывать аудиофайл, показывать сообщение или же разрывать соединение с Интернетом, когда средняя или текущая скорость загрузки меньше заданного значения, когда продолжительность Интернет-сессии превышает указанное число часов, когда передано определенное количество данных. Кроме этого, различные действия могут выполняться циклически, например, каждый раз, когда программа фиксирует передачу заданного объема информации. Статистика в DUTraffic ведется отдельно для каждого пользователя и для каждого соединения с Интернетом. Программа показывает как общую статистику за выбранный промежуток времени, так и информацию о скорости, количестве переданных и принятых данных и финансовых затратах за каждую сессию.

5) Cистема мониторинга Cacti (рис.5).

Cacti это open-source веб-приложение (соответственно отсутствует установочный файл). Cacti собирает статистические данные за определённые временные интервалы и позволяет отобразить их в графическом виде. Система позволяет строить графики при помощи RRDtool. Преимущественно используются стандартные шаблоны для отображения статистики по загрузке процессора, выделению оперативной памяти, количеству запущенных процессов, использованию входящего/исходящего трафика.

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


Таблица 1

Параметры/Программы

BMExtreme

BWMeter

Bandwidth Monitor Pro

DUTraffic

Cacti

Размер установочного файла

473 КБ

1,91 МБ

1,05 МБ

1,4 МБ

Язык интерфейса

русский

русский

английский

русский

английский

График скорости

График трафика

Экспорт/импорт (формат файла экспорта)

–/–

(* . csv)

–/–

–/–

(* . xls)

Min -й временной шаг между отчётам данных

5 мин.

1 сек.

1 мин.

1 сек.

1 сек.

Возможность изменения min

2. Обзор программ-анализаторов (снифферов) сетевого трафика

Анализатор трафика, или сниффер - сетевой анализатор трафика, программа или программно-аппаратное устройство, предназначенное для перехвата и последующего анализа, либо только анализа сетевого трафика, предназначенного для других узлов.

Анализ прошедшего через сниффер трафика позволяет:

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

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

Поскольку в «классическом» сниффере анализ трафика происходит вручную, с применением лишь простейших средств автоматизации (анализ протоколов, восстановление TCP-потока), то он подходит для анализа лишь небольших его объёмов.

1) Wireshark (ранее - Ethereal).

Программа-анализатор трафика для компьютерных сетей Ethernet и некоторых других. Имеет графический пользовательский интерфейс. Wireshark - это приложение, которое «знает» структуру самых различных сетевых протоколов, и поэтому позволяет разобрать сетевой пакет, отображая значение каждого поля протокола любого уровня. Поскольку для захвата пакетов используется pcap, существует возможность захвата данных только из тех сетей, которые поддерживаются этой библиотекой. Тем не менее, Wireshark умеет работать с множеством форматов входных данных, соответственно, можно открывать файлы данных, захваченных другими программами, что расширяет возможности захвата.

2) Iris Network Traffic Analyzer .

Помимо стандартных функций сбора, фильтрации и поиска пакетов, а также построения отчетов, программа предлагает уникальные возможности для реконструирования данных. Iris The Network Traffic Analyzer помогает детально воспроизвести сеансы работы пользователей с различными web-ресурсами и даже позволяет имитировать отправку паролей для доступа к защищенным web-серверам с помощью cookies. Уникальная технология реконструирования данных, реализованная в модуле дешифрования (decode module), преобразует сотни собранных двоичных сетевых пакетов в привычные глазу электронные письма, web-страницы, сообщения ICQ и др. eEye Iris позволяет просматривать незашифрованные сообщения web-почты и программ мгновенного обмена сообщениями, расширяя возможности имеющихся средств мониторинга и аудита.

Анализатор пакетов eEye Iris позволяет зафиксировать различные детали атаки, такие как дата и время, IP-адреса и DNS-имена компьютеров хакера и жертвы, а также использованные порты.

3) Ethernet Internet traffic Statistic .

Ethernet Internet traffic Statisticпоказывает количество полученных и принятых данных (в байтах - всего и за последнюю сессию), а также скорость подключения. Для наглядности собираемые данные отображаются в режиме реального времени на графике. Работает без инсталляции, интерфейс - русский и английский.

Утилита для контроля за степенью сетевой активности - показывает количество полученных и принятых данных, ведя статистику за сессию, день, неделю и месяц.

4) CommTraffic .

Это сетевая утилита для сбора, обработки и отображения статистики интернет-трафика через модемное (dial-up) или выделенное соединение. При мониторинге сегмента локальной сети, CommTraffic показывает интернет-трафик для каждого компьютера в сегменте.

CommTraffic включает в себя легко настраиваемый, понятный пользователю интерфейс, показывающий статистику работы сети в виде графиков и цифр.

Таблица 2

Параметры/Программы

Wireshark

Iris The Network Traffic Analyzer

Ethernet Internet traffic Statistic

CommTraffic

Размер установочного файла

17,4 МБ

5,04 МБ

651 КБ

7,2 МБ

Язык интерфейса

английский

русский

английский/русский

русский

График скорости

График трафика

Экспорт/Импорт (формат файла экспорта)

+/–

(*.txt, *.px, *.csv, *.psml, *.pdml, *.c)

–/–

–/–

–/–

Запуск мониторинга по требованию

Min -й временной шаг между отчётами данных

0,001 сек.

1 сек.

1 сек .

1 сек.

Возможность изменения min -го шага между отчётами данных

Заключение

В целом можно сказать, что большинству домашних пользователей будет достаточно возможностей, которые предоставляет Bandwidth Monitor Pro. Если же говорить о самой функциональной программе для мониторинга сетевого трафика, это, безусловно, BWMeter.

Из числа рассмотренных программ-анализаторов сетевого трафика хотелось бы выделить Wireshark, которая имеет большее количество функциональных возможностей.

Система мониторинга Cacti максимально отвечает повышенным требованиям, которые предъявляются в случае проведения исследования сетевого трафика в научных целях. В дальнейшем авторы статьи планируют именно эту систему использовать для сбора и предварительного анализа трафика в корпоративной мультисервисной сети кафедры "Сети связи" Харьковского национального университета радиоэлектроники.

Список литературы

Платов В.В., Петров В.В. Исследование самоподобной структуры телетрафика беспроводной сети //Радиотехнические тетради. М.: ОКБ МЭИ. 2004. №3. С. 58-62.

Петров В.В. Структура телетрафика и алгоритм обеспечения качества обслуживания при влиянии эффекта самоподобия. Диссертация на соискание ученой степени кандидата технических наук, 05.12.13, Москва, 2004, 199 с.