Wireshark (перехватчик сетевых пакетов). Пишем простой сниффер под Windows

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

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

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

  • Захват пакетов в реальном времени из проводного или любого другого типа сетевых интерфейсов, а также чтение из файла;
  • Поддерживаются такие интерфейсы захвата: Ethernet, IEEE 802.11, PPP и локальные виртуальные интерфейсы;
  • Пакеты можно отсеивать по множеству параметров с помощью фильтров;
  • Все известные протоколы подсвечиваются в списке разными цветами, например TCP, HTTP, FTP, DNS, ICMP и так далее;
  • Поддержка захвата трафика VoIP-звонков;
  • Поддерживается расшифровка HTTPS-трафика при наличии сертификата;
  • Расшифровка WEP-, WPA-трафика беспроводных сетей при наличии ключа и handshake;
  • Отображение статистики нагрузки на сеть;
  • Просмотр содержимого пакетов для всех сетевых уровней;
  • Отображение времени отправки и получения пакетов.

Программа имеет множество других функций, но это были те основные, которые могут вас заинтересовать.

Как пользоваться Wireshark

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

sudo apt install wireshark

После установки вы сможете найти программу в главном меню дистрибутива. Запускать Wireshark нужно с правами суперпользователя, потому что иначе она не сможет анализировать сетевые пакеты. Это можно сделать из главного меню или через терминал с помощью команды для KDE:

А для Gnome / Unity:

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

Анализ сетевого трафика

Для начала анализа выберите сетевой интерфейс, например eth0, и нажмите кнопку Start.

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

  • Верхняя часть - это меню и панели с различными кнопками;
  • Список пакетов - дальше отображается поток сетевых пакетов, которые вы будете анализировать;
  • Содержимое пакета - чуть ниже расположено содержимое выбранного пакета, оно разбито по категориям в зависимости от транспортного уровня;
  • Реальное представление - в самом низу отображается содержимое пакета в реальном виде, а также в виде HEX.

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

Здесь мы видим пакет запроса к DNS, чтобы получить IP-адрес сайта, в самом запросе отправляется домен, а в пакете ответа мы получаем наш вопрос, а также ответ.

Для более удобного просмотра можно открыть пакет в новом окне, выполнив двойной клик по записи:

Фильтры Wireshark

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

  • ip.dst - целевой IP-адрес;
  • ip.src - IP-адрес отправителя;
  • ip.addr - IP отправителя или получателя;
  • ip.proto - протокол;
  • tcp.dstport - порт назначения;
  • tcp.srcport - порт отправителя;
  • ip.ttl - фильтр по ttl, определяет сетевое расстояние;
  • http.request_uri - запрашиваемый адрес сайта.

Для указания отношения между полем и значением в фильтре можно использовать такие операторы:

  • == - равно;
  • != - не равно;
  • < - меньше;
  • > - больше;
  • <= - меньше или равно;
  • >= - больше или равно;
  • matches - регулярное выражение;
  • contains - содержит.

Для объединения нескольких выражений можно применять:

  • && - оба выражения должны быть верными для пакета;
  • || - может быть верным одно из выражений.

Теперь рассмотрим подробнее на примерах несколько фильтров и попытаемся понять все знаки отношений.

Сначала отфильтруем все пакеты, отправленные на 194.67.215.. Наберите строку в поле фильтра и нажмите Apply . Для удобства фильтры Wireshark можно сохранять с помощью кнопки Save :

ip.dst == 194.67.215.125

А чтобы получить не только отправленные пакеты, но и полученные в ответ от этого узла, можно объединить два условия:

ip.dst == 194.67.215.125 || ip.src == 194.67.215.125

Также мы можем отобрать переданные большие файлы:

http.content_length > 5000

Отфильтровав Content-Type, мы можем выбрать все картинки, которые были загружены; выполним анализ трафика Wireshark, пакеты, которого содержат слово image:

http.content_type contains image

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

Например, я хочу вывести в виде колонки ttl (время жизни) пакета. Для этого откройте информацию о пакете, найдите это поле в разделе IP. Затем вызовите контекстное меню и выберите опцию Apply As Column :

Таким же образом можно создать фильтр на основе любого нужного поля. Выберите его и вызовите контекстное меню, затем нажмите Apply as filter или Prepare as filter , затем выбираем Selected, чтобы вывести только выбранные значения, или Not selected , чтобы их убрать:

Указанное поле и его значение будет применено или во втором случае подставлено в поле фильтра:

Таким способом вы можете добавить в фильтр поле любого пакета или колонку. Там тоже есть эта опция в контекстном меню. Для фильтрации протоколов вы можете использовать и более простые условия. Например, выполним анализ трафика Wireshark для протоколов HTTP и DNS:

Еще одна интересная возможность программы - использование Wireshark для отслеживания определённого сеанса между компьютером пользователя и сервером. Для этого откройте контекстное меню для пакета и выберите Follow TCP stream .

Затем откроется окно, в котором вы найдете все данные, переданные между сервером и клиентом:

Диагностика проблем Wireshark

Возможно, вам интересно, как пользоваться Wireshark 2.0 для обнаружения проблем в сети. Для этого в левом нижнем углу окна есть круглая кнопка, при нажатии на неё открывается окно Expet Tools . В нём Wireshark собирает все сообщения об ошибках и неполадках в сети:

Окно разделено на такие вкладки, как Errors, Warnings, Notices, Chats. Программа умеет фильтровать и находить множество проблем с сетью, и тут вы можете их очень быстро увидеть. Здесь тоже поддерживаются фильтры Wireshark.

Анализ трафика Wireshark

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

Для этого сначала нужно остановить захват трафика с помощью красного квадрата на панели. Затем откройте меню File -> Export Objects -> HTTP :

Снифферы — это проги, которые перехватывают
весь сетевой трафик. Снифферы полезны для диагностики сети (для админов) и
для перехвата паролей (понятно для кого:)). Например если ты получил доступ к
одной сетевой машине и установил там сниффер,
то скоро все пароли от
их подсети будут твои. Снифферы ставят
сетевую карту в прослушивающий
режим (PROMISC).То есть они получают все пакеты. В локалке можно перехватывать
все отправляемые пакеты со всех машин (если вы не разделены всякими хабами),
так
как там практикуется широковещание.
Снифферы могут перехватывать все
пакеты (что очень неудобно, ужасно быстро переполняется лог файл,
зато для более детального анализа сети самое оно)
или только первые байты от всяких
ftp,telnet,pop3 и т.д. (это самое веселое, обычно примерно в первых 100 байтах
содержится имя и пароль:)). Снифферов сейчас
развелось… Множество снифферов есть
как под Unix, так и под Windows (даже под DOS есть:)).
Снифферы могут
поддерживать только определенную ось (например linux_sniffer.c,который
поддерживает Linux:)), либо несколько (например Sniffit,
работает с BSD, Linux, Solaris). Снифферы так разжились из-за того,
что пароли передаются по сети открытым текстом.
Таких служб
уйма. Это telnet, ftp, pop3, www и т.д. Этими службами
пользуется уйма
народу:). После бума снифферов начали появляться различные
алгоритмы
шифрования этих протоколов. Появился SSH (альтернатива
telnet, поддерживающий
шифрование), SSL(Secure Socket Layer — разработка Netscape, способная зашифровать
www сеанс). Появились всякие Kerberous, VPN(Virtual Private
Network). Заюзались некие AntiSniff’ы, ifstatus’ы и т.д. Но это в корне не
изменило положения. Службы, которые используют
передачу пароля plain text’ом
юзаются во всю:). Поэтому сниффать еще долго будут:).

Windows реализации снифферов

linsniffer
Это простой сниффер для перехвата
логинов/паролей. Стандартная компиляция (gcc -o linsniffer
linsniffer.c).
Логи пишет в tcp.log.

linux_sniffer
Linux_sniffer
требуется тогда, когда вы хотите
детально изучить сеть. Стандартная
компиляция. Выдает всякую шнягу дополнительно,
типа isn, ack, syn, echo_request (ping) и т.д.

Sniffit
Sniffit — продвинутая модель
сниффера написанная Brecht Claerhout. Install(нужна
libcap):
#./configure
#make
Теперь запускаем
сниффер:
#./sniffit
usage: ./sniffit [-xdabvnN] [-P proto] [-A char] [-p
port] [(-r|-R) recordfile]
[-l sniflen] [-L logparam] [-F snifdevice]
[-M plugin]
[-D tty] (-t | -s) |
(-i|-I) | -c]
Plugins Available:
0 — Dummy
Plugin
1 — DNS Plugin

Как видите, сниффит поддерживает множество
опций. Можно использовать сниффак в интерактивном режиме.
Сниффит хоть и
довольно полезная прога, но я ей не пользуюсь.
Почему? Потому что у Sniffit
большие проблемы с защитой. Для Sniffit’a уже вышли ремоутный рут и дос для
линукса и дебиана! Не каждый сниффер себе такое позволяет:).

HUNT
Это
мой любимый сниффак. Он очень прост в обращении,
поддерживает много прикольных
фишек и на данный момент не имеет проблем с безопасностью.
Плюс не особо
требователен к библиотекам (как например linsniffer и
Linux_sniffer). Он
может в реальном времени перехватывать текущие соединения и под
чистую дампить с удаленного терминала. В
общем, Hijack
rulezzz:). Рекомендую
всем для усиленного юзания:).
Install:
#make
Run:
#hunt -i

READSMB
Сниффер READSMB вырезан из LophtCrack и портирован под
Unix (как ни странно:)). Readsmb перехватывает SMB
пакеты.

TCPDUMP
tcpdump — довольно известный анализатор пакетов.
Написанный
еще более известным челом — Вэн Якобсоном, который придумал VJ-сжатие для
PPP и написал прогу traceroute (и кто знает что еще?).
Требует библиотеку
Libpcap.
Install:
#./configure
#make
Теперь запускаем
ее:
#tcpdump
tcpdump: listening on ppp0
Все твои коннекты выводит на
терминал. Вот пример вывода на пинг

ftp.technotronic.com:
02:03:08.918959
195.170.212.151.1039 > 195.170.212.77.domain: 60946+ A?
ftp.technotronic.com.
(38)
02:03:09.456780 195.170.212.77.domain > 195.170.212.151.1039: 60946*
1/3/3 (165)
02:03:09.459421 195.170.212.151 > 209.100.46.7: icmp: echo
request
02:03:09.996780 209.100.46.7 > 195.170.212.151: icmp: echo
reply
02:03:10.456864 195.170.212.151 > 209.100.46.7: icmp: echo
request
02:03:10.906779 209.100.46.7 > 195.170.212.151: icmp: echo
reply
02:03:11.456846 195.170.212.151 > 209.100.46.7: icmp: echo
request
02:03:11.966786 209.100.46.7 > 195.170.212.151: icmp: echo
reply

В общем, снифф полезен для отладки сетей,
нахождения неисправностей и
т.д.

Dsniff
Dsniff требует libpcap, ibnet,
libnids и OpenSSH. Записывает только введенные команды, что очень удобно.
Вот пример лога коннекта
на unix-shells.com:

02/18/01
03:58:04 tcp my.ip.1501 ->
handi4-145-253-158-170.arcor-ip.net.23
(telnet)
stalsen
asdqwe123
ls
pwd
who
last
exit

Вот
dsniff перехватил логин с паролем (stalsen/asdqwe123).
Install:
#./configure
#make
#make
install

Защита от снифферов

Самый верный способ защиты от
снифферов —
использовать ШИФРОВАНИЕ (SSH, Kerberous, VPN, S/Key, S/MIME,
SHTTP, SSL и т.д.). Ну
а если не охота отказываться от plain text служб и установления дополнительных
пакетов:)? Тогда пора юзать антиснифферские пекеты…

AntiSniff for Windows
Этот продукт выпустила известная группа
Lopht. Это был первый продукт в своем роде.
AntiSniff, как сказано в
описании:
«AntiSniff is a Graphical User Interface (GUI) driven tool for
detecting promiscuous Network Interface Cards (NICs) on your local network
segment". В общем, ловит карты в promisc режиме.
Поддерживает огромное
количество тестов (DNS test, ARP test, Ping Test, ICMP Time Delta
Test, Echo Test, PingDrop test). Можно сканить как одну машину,
так и сетку. Здесь имеется
поддержка логов. AntiSniff работает на win95/98/NT/2000,
хотя рекомендуемая
платформа NT. Но царствование его было недолгим и уже в скором
времени появился сниффер под названием AntiAntiSniffer:),
написанный Майком
Перри (Mike Perry) (найти его можно по адресу www.void.ru/news/9908/snoof.txt).Он
основан на LinSniffer (рассмотренный далее).

Unix sniffer detect:
Сниффер
можно обнаружить командой:

#ifconfig -a
lo Link encap:Local
Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP
LOOPBACK RUNNING MTU:3924 Metric:1
RX packets:2373 errors:0
dropped:0 overruns:0 frame:0
TX packets:2373 errors:0 dropped:0
overruns:0 carrier:0
collisions:0 txqueuelen:0

ppp0 Link
encap:Point-to-Point Protocol
inet addr:195.170.y.x
P-t-P:195.170.y.x Mask:255.255.255.255
UP POINTOPOINT PROMISC
RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:3281
errors:74 dropped:0 overruns:0 frame:74
TX packets:3398 errors:0
dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:10

Как
видите интерфейс ppp0 стоит в PROMISC mode. Либо оператор
загрузил снифф для
проверки сети, либо вас уже имеют… Но помните,
что ifconfig можно спокойно
подменить, поэтому юзайте tripwire для обнаружения
изменений и всяческие проги
для проверки на сниффы.

AntiSniff for Unix.
Работает на
BSD, Solaris и
Linux. Поддерживает ping/icmp time test, arp test, echo test, dns
test, etherping test, в общем аналог AntiSniff’а для Win, только для
Unix:).
Install:
#make linux-all

Sentinel
Тоже полезная прога для
отлова снифферов. Поддерживает множество тестов.
Проста в
использовании.
Install: #make
#./sentinel
./sentinel [-t
]
Methods:
[ -a ARP test ]
[ -d DNS test
]
[ -i ICMP Ping Latency test ]
[ -e ICMP Etherping test
]
Options:
[ -f ]
[ -v Show version and
exit ]
[ -n ]
[ -I
]

Опции настолько просты, что no
comments.

MORE

Вот еще несколько
утилит для проверки вашей сети(for
Unix):
packetstorm.securify.com/UNIX/IDS/scanpromisc.c -ремоутный
детектор PROMISC mode для ethernet карт (for red hat 5.x).
http://packetstorm.securify.com/UNIX/IDS/neped.c
— Network Promiscuous Ethernet Detector (нужно libcap & Glibc).
http://packetstorm.securify.com/Exploit_Code_Archive/promisc.c
-сканирует девайсы системы на детект сниффов.
http://packetstorm.securify.com/UNIX/IDS/ifstatus2.2.tar.gz
— ifstatus тестит сетевые интерфейсы в PROMISC mode.

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

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

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

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

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

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

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

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

SolarWinds Network Bandwidth Analyzer

Данное решение позиционируется производителем как программный пакет из двух продуктов — Network Performance Monitor (базовое решение) и NetFlow Traffic Analyzer (модульное расширение). Как заявляется, они имеют схожие, но все же отличающиеся функциональные возможности для анализа сетевого трафика, дополняющие друг друга при совместном использовании сразу двух продуктов.

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

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

Wireshark

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

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

tcpdump

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

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

Kismet

Анализатор трафика Kismet — еще один пример программного обеспечения с открытым исходным кодом, заточенного для решения конкретных задач. Kismet не просто анализирует сетевой трафик, он предоставляет вам гораздо более расширенные функциональные возможности. К примеру, он способен проводить анализ трафика скрытых сетей и даже беспроводных сетей, которые не транслируют свой идентификатор SSID! Подобный инструмент для анализа трафика может быть чрезвычайно полезен, когда в вашей беспроводной сети есть что-то, вызывающее проблемы, но быстро найти их источник вы не можете. Kismet поможет вам обнаружить неавторизированную сеть или точку доступа, которая работает, но имеет не совсем правильные настройки.

Многие из нас знают не понаслышке, что задача становится более сложной, когда дело доходит до анализа трафика беспроводных сетей, поэтому наличие под рукой такого специализированного инструмента, как Kismet, не только желательно, но и, зачастую, необходимо. Анализатор трафика Kismet станет прекрасным выбором для вас, если вы постоянно имеете дело с большим количеством беспроводного трафика и беспроводных устройств, и вы нуждаетесь в хорошем инструменте для анализа трафика беспроводной сети. Kismet доступен для сред * NIX, Windows под Cygwin и macOS.

EtherApe

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

Cain and Abel

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

NetworkMiner

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

KisMAC

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

Заключение

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

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

Подписывайтесь на рассылку, делитесь статьями в соцсетях и задавайте вопросы в комментариях!

Всегда на связи, Игорь Панов.

23.05.16 45.3K

Многие администраторы сетей часто сталкиваются с проблемами, разобраться с которыми поможет анализ сетевого трафика. И здесь мы сталкиваемся с таким понятием, как анализатор трафика. Так что же это такое?


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

Термин «NetFlow » относится к протоколу Cisco , предназначенному для сбора информации о трафике по IP и мониторинга сетевого трафика. NetFlow был принят в качестве стандартного протокола для потоковых технологий.

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

Несколько других поставщиков сетевого оборудования имеют свои собственные протоколы для мониторинга и сбора данных. Например, Juniper , другой весьма уважаемый поставщик сетевых устройств, называет свой протокол «J-Flow «. HP и Fortinet используют термин «s-Flow «. Несмотря на то, что протоколы называются по-разному, все они работают аналогичным образом. В этой статье мы рассмотрим 10 бесплатных анализаторов сетевого трафика и коллекторов NetFlow для Windows .

SolarWinds Real-Time NetFlow Traffic Analyzer


Free NetFlow Traffic Analyzer является одним из наиболее популярных инструментов, доступных для бесплатного скачивания. Он дает возможность сортировать, помечать и отображать данные различными способами. Это позволяет удобно визуализировать и анализировать сетевой трафик. Инструмент отлично подходит для мониторинга сетевого трафика по типам и периодам времени. А также выполнение тестов для определения того, сколько трафика потребляют различные приложения.

Этот бесплатный инструмент ограничен одним интерфейсом мониторинга NetFlow и сохраняет только 60 минут данных. Данный Netflow анализатор является мощным инструментом, который стоит того, чтобы его применить.

Colasoft Capsa Free


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

Другие функции включают в себя анализ безопасности сети. Например, отслеживание DoS/DDoS-атак , активности червей и обнаружение ARP-атак . А также декодирование пакетов и отображение информации, статистические данные о каждом хосте в сети, контроль обмена пакетами и реконструкция потока. Capsa Free поддерживает все 32-битные и 64-битные версии Windows XP .

Минимальные системные требования для установки: 2 Гб оперативной памяти и процессор 2,8 ГГц. У вас также должно быть соединение с интернет по сети Ethernet (совместимой с NDIS 3 или выше ), Fast Ethernet или Gigabit с драйвером со смешанным режимом. Он позволяет пассивно фиксировать все пакеты, передаваемые по Ethernet-кабелю .

Angry IP Scanner


Это анализатор трафика Windows с открытым исходным кодом, быстрый и простой в применении. Он не требует установки и может быть использован на Linux , Windows и Mac OSX . Данный инструмент работает через простое пингование каждого IP-адреса и может определять MAC-адреса , сканировать порты, предоставлять NetBIOS-информацию , определять авторизованного пользователя в системах Windows , обнаруживать веб-серверы и многое другое. Его возможности расширяются с помощью Java-плагинов . Данные сканирования могут быть сохранены в файлы форматов CSV, TXT, XML .

ManageEngine NetFlow Analyzer Professional


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

Бесплатная версия анализатора трафика Linux позволяет неограниченно использовать продукт на протяжении 30 дней, после чего можно производить мониторинг только двух интерфейсов. Системные требования для NetFlow Analyzer ManageEngine зависят от скорости потока. Рекомендуемые требования для минимальной скорости потока от 0 до 3000 потоков в секунду: двухъядерный процессор 2,4 ГГц, 2 Гб оперативной памяти и 250 Гб свободного пространства на жестком диске. По мере увеличения скорости потока, который нужно отслеживать, требования также возрастают.

The Dude


Это приложение представляет собой популярный сетевой монитор, разработанный MikroTik . Он автоматически сканирует все устройства и воссоздает карту сети. The Dude контролирует серверы, работающие на различных устройствах, и предупреждает в случае возникновения проблем. Другие функции включают в себя автоматическое обнаружение и отображение новых устройств, возможность создавать собственные карты, доступ к инструментам для удаленного управления устройствами и многое другое. Он работает на Windows , Linux Wine и MacOS Darwine .

JDSU Network Analyzer Fast Ethernet


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

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

Plixer Scrutinizer


Этот анализатор сетевого трафика позволяет собрать и всесторонне проанализировать сетевой трафик, а также быстро найти и исправить ошибки. С помощью Scrutinizer можно отсортировать данные различными способами, в том числе по временным интервалам, хостам, приложениям, протоколам и т.д. Бесплатная версия позволяет контролировать неограниченное количество интерфейсов и хранить данные по 24 часам активности.

Wireshark


Wireshark — это мощный сетевой анализатор может работать на Linux , Windows , MacOS X , Solaris и других платформах. Wireshark позволяет просматривать захваченные данные с помощью графического интерфейса, или использовать утилиты TTY-mode TShark . Его функции включают в себя сбор и анализ трафика VoIP, отображение в режиме реального времени данных Ethernet , IEEE 802.11 , Bluetooth , USB , Frame Relay , вывод данных в XML , PostScript , CSV , поддержку дешифрования и многое другое.

Системные требования: Windows XP и выше, любой современный 64/32-битный процессор, 400 Mb оперативной памяти и 300 Mb свободного дискового пространства. Wireshark NetFlow Analyzer — это мощный инструмент, который может существенно упростить работу любому администратору сети.

Paessler PRTG


Этот анализатор трафика предоставляет пользователям множество полезных функций: поддержку мониторинга LAN , WAN , VPN , приложений, виртуального сервера, QoS и среды. Также поддерживается мониторинг нескольких сайтов. PRTG использует SNMP , WMI , NetFlow , SFlow , JFlow и анализ пакетов, а также мониторинг времени бесперебойной работы/простоя и поддержку IPv6 .

Бесплатная версия дает возможность использовать неограниченное количество датчиков в течение 30 дней, после чего можно бесплатно использовать только до 100 штук.

nProbe


Это полнофункциональное приложение с открытым исходным кодом для отслеживания и анализа NetFlow .

nProbe поддерживает IPv4 и IPv6 , Cisco NetFlow v9 / IPFIX , NetFlow-Lite , содержит функции анализа VoIP трафика, выборки потоков и пакетов, генерации логов, MySQL/Oracle и DNS-активности , а также многое другое. Приложение является бесплатным, если вы анализатор трафика скачиваете и компилируете на Linux или Windows . Исполняемый файл установки ограничивает объем захвата до 2000 пакетов. nProbe является полностью бесплатным для образовательных учреждений, а также некоммерческих и научных организаций. Данный инструмент будет работать на 64-битных версиях операционных систем Linux и Windows .

Этот список из 10 бесплатных анализаторов трафика и коллекторов NetFlow поможет вам приступить к мониторингу и устранению неисправностей в небольшой офисной сети или обширной, охватывающей несколько сайтов, корпоративной WAN-сети .

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

Данная публикация представляет собой перевод статьи «Top 10 Best Free Netflow Analyzers and Collectors for Windows » , подготовленной дружной командой проекта

Хорошо Плохо

Поделиться