RSS    

Видеокурсы

Видеокурсы по ВТ


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

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

 

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

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

 

Программные комплексы SolarWinds Deep Packet Inspection и Analysis tool

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

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

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

solarwindows-dpi-app-identification1

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

Инструмент для проверки и анализа глубоких пакетов SolarWinds (30-дневная бесплатная пробная версия)

 

tcpdump

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

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

Проверка системы показала следующее:

[ ~ ]$ ps -ef | grep google

user 1985 1881 0 10:16 ? 00:00:00 /opt/google/chrome/chrome
--type=service

Видим, что даже когда Chrome не запущен, он остается запущенным как служба. 

 

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)

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

 

Windump

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

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

Winpcap - это настоящая библиотека, требующая установки. Но, как только она будет установлена, Windup - это exe-файл, который не нуждается в установке, поэтому он может быть просто запущен. 

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

Wireshark

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

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

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

wireshark-launch-1024x5531

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

wireshark-follow-tcp-stream-1024x4961

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

wireshark-open-pcap1

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

Network Miner - очень интересный инструмент, который больше относится к категории криминалистического инструмента, а не к прямому пакетному снифферу. Область криминалистики обычно занимается расследованием и сбором доказательств, а Network Miner хорошо справляется с этой задачей для сетевого трафика. Подобно тому, как WireShark может следить за потоком TCP для восстановления всей TCP-беседы, Network Miner может следить за потоком, чтобы восстановить файлы, которые были отправлены по сети.

Network-Miner1

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

Также система может  работать и в автономном режиме. Вы можете использовать проверенный и верный инструмент tcpdump для разбивки пакетов в интересующей вас сети, а затем импортировать файлы pcap в Network Miner. Затем он попытается восстановить любые файлы или сертификаты, обнаруженные в файле захвата.

ПО разработано для Windows, но с помощью Mono его можно запустить на любой ОС, где есть среда Mono, такая как Linux и macOS.

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

Fiddler (HTTP)

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

Fiddler1

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

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

 

Capsa

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

capsa1

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

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

 

Оригинал статьи здесь.

Оставьте свой отзыв:

Добавить комментарий


Защитный код
Обновить

Следующие статьи:

 

Самое читаемое:

Быстрый поиск

Новости в Twitter и Facebook

  подписка на новости в twitter              Подписка на новости facebook

Подписаться

vk

 Telegram  информационные технологии в telegram

Инструкции к программам

Инструкции к программам

Новые информационные технологии и программы