Что такое WireShark? Для чего нужна эта программа? Как пользоваться Wireshark? Анализ трафика Анализ трафика wireshark

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

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

Включите воображение!

Даю пример:

допустим вы подключились к чужой сети и вам нужно узнать чем они пользуются что и как проходит через сеть? Wireshark идеальное решение. Изучив пакеты вы с легкостью узнаете все нужные данные. Но это был всего лишь пример каждый волен его использовать по своей нужде!

Applications >>Internet >>Wireshark

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

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

Для того чтобы остановить захват трафика нажимаем на кнопку «Stop the running live capture «

Как вы уже заметили цвета трафика разные и это весьма интересно что они обозначают. Wireshark использует разные цвета чтобы помочь нам узнать разные виды трафика.

Мы можем вписать нужный нам трафик для фильтровки в разделе «Filter : » и Wireshark сам будет давать нам подсказки или можем выбрать нажав на «Expression «

Мы также можем создать свой собственный фильтр нажав на Analyze >>Display filters

Если вы увидели нужный пакет вы можете посмотреть его содержимое.




А также можно посмотреть все содержимое пакета, а также все данные о нем.

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

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

  1. В этой статье я расскажу как перехватить пакеты передаваемые в интернет через локальную сеть. Вам будет известно "ip" "Mac" адреса куда ушел пакет, так же хеш сумма пакета и еще много полезного. Я не буду расписывать что и зачем, просто дам вам первые навыки скажем так. Как захватить пакеты и отфильтровать нужные нам пакеты из списка. Скачиваем программу Wireshark с разрядностью для вашей системы. С установкой не что трудного не возникает, поэтому я не буду ее описывать. Единственное не пропустите галочку "WinPcap" его надо установить, с помощью него можно узнать многое от mac адреса и далее. Установили и первый запуск программы:
  2. Первое окно где вы должны выбрать свой сетевой адаптер, с которого будут захватываться пакеты. 1.) Под цифрой выбираем адаптер и чуть выше, под цифрой 2.) нажимаем "Start"
  3. Все пакеты которые проходят через выбранный адаптер, будут перехватываться и показаны. Вы можете настроить фильтр, который будет показывать нужные вам пакеты с нужным вам "IP" или "Mac". Выделяете нужный пакет, и нажимаете правой кнопкой мышки, в контекстном меню выбираете "Apply as filter" и далее в следующем контекстном меню "Selected". Пример картинка ниже. Окно с захваченными пакетами и синим выделенный пакет по которому будет работать фильтр.
  4. После того как вы настроили фильтр. Вам будут показаны исключительно те пакеты которые вас интересуют. Выделив нужный пакет, ниже вам будет доступна вся информация. Куда, кто и зачем скажем так, кратко.
  5. Я сделал описание, верхней панели, ниже. Картинка под описанием.
  6. 1.) Можете выбрать другой адаптер.
  7. 2.)Так сказать, все в одном. Можно поменять адаптер, настроить фильтр, сохранить в файл, сохранить уже в имеющийся файл(добавить), открыть файл.
  8. 3.)Запуск захвата пакетов.
  9. 4.)Остановить захват пакетов.
  10. 5.)Перезапустить захват.
  11. 6.)Открыть файл с уже имеющимися пакетами.
  12. 7.)Сохранить захваченные пакеты в файл.
  13. 8.)Закрыть окно захвата пакетов, предложение сохранить или выйти без сохранения.
  14. 9.)Перезагрузить открытый файл с пакетами.
  15. 10.)Найти нужный пакет.
  16. 11.)Назад к захваченному пакету, переход в окне с пакетами.
  17. 12.)Тоже самое что и 10.) вариант только вперед. Как в браузере, вперед страница, наза.
  18. 13.)Перейти к указанному пакету по порядковому номеру пакета.
  19. 14.)Перейти в самый верх в поле с пакетами, к самому первому.
  20. 15.)Перейти к самому последнему пакету, в самый низ.
  21. 16.)Выделять пакеты цветом, как заданно в настройках для каждого пакета.
  22. 17.)Продвигать строчки с пакетами по мере заполнения. По мере появления новых пакетов, показывать новые пакеты.
  23. 18.)Увеличить строчки с пакетами.
  24. 19.)Уменьшить строчки, "Zoom".
  25. 20.)Сделать увеличение строчек 100%.
  26. 21.)Если вы раздвигали колонки строчек, делая их шире или уже. Этот параметр вернет все по умолчанию.
  27. 22.)Работа с фильтрами, можете выбрать уже предлагающийся фильтр или написать свой. Добавить свой.
  28. 23.)Практически тоже самое что и 21.) параграф.
  29. 24.)Здесь вы можете выбрать цвет для каждого пакета отдельно, в строчках вам будет легче найти нужный.
  30. 25.)Настройка самой программы.
  31. 26.)Справка по программе.
  32. Как видите программа не сложная. В не которых странах она запрещена, пользуйтесь пока не запретили у нас в России. Если хорошо подумать, пользы от этой программы можно подчеркнуть много.

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

Введение

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

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

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

Знакомимся с фильтрами

Wireshark поддерживает два вида фильтров:

  • перехвата трафика (capture filters);
  • отображения (display filters).

Первая подсистема досталась Wireshark в наследство от библиотеки Pcap, обеспечивающей низкоуровневый API для работы с сетевыми интерфейсами. Выборка трафика на лету во время перехвата позволяет экономить оперативную память и место на жестком диске. Фильтр представляет собой выражение, состоящее из группы примитивов, при необходимости объединенных логическими функциями (and, or, not). Записывается это выражение в поле «Capture Filter» диалогового окна «Capture options». Наиболее употребляемые фильтры можно сохранять в профиле для повторного использования (рис. 1).

Рис. 1. Профиль фильтров перехвата

Язык фильтров перехвата стандартный для мира Open Source и используется многими Pcap-основанными продуктами (например, утилитой tcpdump или системой обнаружения/предотвращения вторжений Snort). Поэтому описывать синтаксис здесь нет особого смысла, так как он тебе, скорее всего, знаком. А детали можно посмотреть в документации, например в Linux на странице справочного руководства pcap-filter(7).

Фильтры отображения работают с уже перехваченным трафиком и являются «родными» для Wireshark. Отличия от Pcap - в формате записи (в частности, в качестве разделителя полей используется точка); также добавлены английская нотация в операциях сравнения и поддержка подстрок.

Вписать фильтр отображения можно прямо в соответствующее поле (внимание, работает выпадающий список-подсказка) главного окна программы после кнопки «Filter» (кстати, под этой кнопкой скрывается профиль для часто используемых выражений). А если кликнуть расположенную неподалеку кнопку «Expression…», то откроется многофункциональный конструктор выражений (рис. 2).


Слева (Field Name) представлено упорядоченное по алфавиту дерево полей сообщений протоколов, которые известны Wireshark. Для данного поля можно указать логический оператор (Relation), вписать значение (Value), указать диапазон (Range) или выбрать значение из списка (Predefined Value). В общем, полная сетевая энциклопедия в одном окошке.

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

  • and (&&) - «И»;
  • or (||) - «ИЛИ»;
  • xor (^^) - исключающее «ИЛИ»;
  • not (!) - отрицание;
  • [...] - выборка подстроки. # Фильтруя по MAC-адресу своего сетевого адаптера, исключаем весь локальный трафик not (eth.addr eq aa:bb:cc:22:33:44) # Отметаем весь «служебный шум», чтобы сконцентрироваться на интересующем нас трафике!(arp or icmp or dns)

Что касается выборки подстроки, то это не совсем логическая операция, но весьма полезная опция. Она позволяет получить определенную часть последовательности. Например, так можно использовать в выражении первые (первое число в квадратных скобках - смещение) три байта (число после двоеточия - длина подпоследовательности) поля MAC-адреса источника:

Eth.src == 00:19:5b

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

К слову, выборку подстроки удобно использовать для выявления малвари в случае, если известна последовательность байт, идущая после заголовка (например, «0x90, 0x90, 0x90, 0x04» в UDP-пакете):

Udp == 90:90:90:04

Операции сравнения, используемые в логических выражениях:

  • eq (==) - равно;
  • ne (!=) - не равно;
  • gt (>) - больше;
  • lt (<) - меньше;
  • ge (>=) - больше или равно;
  • le (<=) - меньше или равно.tcp.dstport ne 8080 && tcp.len gt 0 && data eq A0

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

Pcap-фильтр для выявления сканирования Netbios-портов

dst port 135 or dst port 445 or dst port 1433 and tcp & (tcp-syn) != 0 and tcp & (tcp-ack) = 0 and src net 192.168.56.0/24

Ищем угонщика IP-адреса

В сегменте локальной сети случаются (по тем или иным причинам) совпадения IP-адресов у двух и более узлов. Методика «отлова» (определения MAC-адресов) конфликтующих систем общеизвестна: запускаем на третьем компьютере сниффер, чистим ARP-кеш и стимулируем запрос на разрешение MAC’а искомого IP, например пропинговав его:

# arp -d 192.168.56.5 # ping -n -c 1 192.168.56.5

А потом ищем в перехваченном трафике, с каких MAC’ов пришли ответы. Если Wireshark наловил слишком много пакетов, создаем фильтр отображения с помощью конструктора. В первой части выражения выбираем ARP-ответы, во второй - те сообщения, в которых исходный IP-адрес равен искомому. Примитивы объединяем оператором &&, так как нужно, чтобы оба условия выполнялись одновременно:

(arp.opcode == reply) && (arp.src.proto_ipv4 == 192.168.56.5)

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

Инспектируем сетевой и транспортный уровни

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

Как ты уже догадался, отфильтровать ICMP в Wireshark очень просто. Достаточно в строке фильтрации в главном окне программы написать: icmp. Кроме icmp, работают и многие другие ключевые слова, являющиеся именами протоколов, например arp, ip, tcp, udp, snmp, smb, http, ftp, ssh и другие.

Если ICMP-трафика много, то отображение можно детализировать, исключив, например, эхо-запросы (тип 0) и эхо-ответы (тип 8):

Icmp and ((icmp.type ne 0) and (icmp.type ne 8))

На рис. 4 показан пример небольшой выборки ICMP-сообщений, созданных тестовым Linux-маршрутизатором. Сообщение «Port Unreachable» обычно используется по умолчанию. Оно же генерируется сетевым стеком при получении UDP-датаграммы на неиспользуемый порт. Чтобы виртуальный роутер на основе Debian начал отдавать сообщения «Host unreachable» и «Communication administratively filtered», пришлось с ним повозиться. Cisco же информирует об административной фильтрации обычно по умолчанию. Сообщение «Time-to-live exceeded» говорит о наличии петли на каком-то участке сети (ну и при трассировке маршрута такие пакеты также могут появляться).

Кстати, о межсетевых экранах. Создавать правила для популярных файеров можно прямо в Wireshark, используя пункт «Firewall ACL Rules» меню «Tools». Предварительно нужно выбрать в списке пакет, информация которого будет использована. Доступны стандартные и расширенные ACL Cisco, правила UNIX-like продуктов IP Filter, IPFirewall (ipfw), Netfilter (iptables), Packet Filter (pf), а также Windows Firewall (netsh).

И теперь кратко об азах фильтрации на сетевом уровне, основу которой составляют поля заголовка IP-пакета - адрес отправителя (ip.src) и адрес получателя (ip.dst):

(ip.src == 192.168.56.6) || (ip.dst == 192.168.56.6)

Так мы увидим все пакеты, которые получил или отправил данный IP-адрес. Фильтровать целые подсети можно, используя CIDR-нотацию записи маски. Для примера выявим инфицированный хост, осуществляющий спам-рассылку (здесь 192.168.56.251 - это IP-адрес нашего SMTP-сервера):

Ip.src == 192.168.56.0/24 and tcp.dstport == 25 and !(ip.dst == 192.168.56.251)

К слову, для выборки по MAC-адресам следует использовать примитивы eth.src, eth.dst и eth.addr. Порой проблемы сетевого уровня куда теснее связаны с Ethernet-уровнем, чем об этом повествует теория. В частности, при настройке маршрутизации очень полезно бывает посмотреть, на MAC-адрес какого роутера упрямый узел отправляет пакеты. Впрочем, для такой простой задачи за глаза хватит утилиты tcpdump, практически штатной для UNIX-подобных систем.

С фильтрацией портов у Wireshark тоже никаких вопросов нет. Для TCP к твоим услугам ключевые слова tcp.srcport, tcp.dstport и tcp.port, для UDP - udp.srcport, udp.dstport и udp.port. Правда, у встроенного языка фильтров Wireshark не нашлось аналога примитива port в Pcap, обозначающего как порт UDP, так и TCP. Но это легко исправить с помощью логического выражения, например:

Tcp.port == 53 || udp.port == 53

Импровизируем с HTTP-трафиком

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

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

Tcp contains "сайт"

Оператор contains проверяет наличие подстроки в данном поле. Есть еще оператор matches, в нем можно использовать Perl-совместимые регулярные выражения.


Окошко «Filter Expressions», конечно, хороший помощник, но порой перелистывать длинный список в поисках нужного поля весьма утомительно. Есть более простой способ создания/модификации фильтров отображения: с помощью контекстного меню при просмотре пакетов. Для этого нужно просто кликнуть правой клавишей мыши по интересующему полю и выбрать один из подпунктов пункта «Apply As Filter» или пункта «Prepare a Filter». В первом случае изменения тут же вступят в силу, а во втором - можно будет подкорректировать выражение. «Selected» означает, что значение поля станет новым фильтром, «Not Selected» - то же самое, только с отрицанием. Пункты, начинающиеся с «...», добавляют значение поля к существующему выражению с учетом логических операторов.

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

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

(http.host eq "www..request.uri contains ".jpg#26759185") or (http.request.uri contains ".png#26759185"))

То же самое, но с использованием matches:

(http.host eq "www..request.uri matches ".jpg|.png#26759185")

Разумеется, поля сообщений протоколов разных уровней можно смело смешивать в одном выражении. Например, чтобы узнать, какие картинки данный сервер передал клиенту, используем исходный адрес из IP-пакета и поле «Content-Type» HTTP-ответа:

(ip.src eq 178.248.232.27) and (http.content_type contains "image")

А с помощью поля HTTP-запроса «Referer» ты сможешь узнать, с каких еще серверов браузер берет контент при формировании страницы любимого сайта:

(http.referer eq "http://www..dst eq 178.248.232.27))

Рассмотрим еще несколько фильтров-полезняшек. Для выборки из трафика HTTP-запросов, сделанных методом GET, можно использовать следующее выражение:

Http.request.method == GET

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

Port 80 and tcp[((tcp & 0xf0) >> 2):4] = 0x47455420

Чтобы выяснить, какие www-подключения совершал пользователь хоста 192.168.56.8 в определенный интервал времени (скажем, в обеденный перерыв), задействуем примитив frame.time:

Tcp.dstport == 80 && frame.time >= "Yan 9, 2013 13:00:00" && frame.time < "Yan 9, 2013 14:00:00" && ip.src == 192.168.56.8

Ну и отображение URI запросов, содержащих слова «login» и «user», плюс «напоминалка» паролей:

Http.request.uri matches "login.*=user" (http contains "password") || (pop contains "PASS")

Перехват SSL-контента

Настоящий бич исследователя сетевого трафика - шифрование. Но если у тебя есть заветный файл с сертификатом (кстати, беречь его нужно как зеницу ока), то ты легко сможешь узнать, что прячут пользователи данного ресурса в SSL-сессиях. Для этого нужно указать параметры сервера и файл сертификата в настройках протокола SSL (пункт «Preferences» меню «Edit», слева в списке протоколов выбрать SSL). Поддерживаются форматы PKCS12 и PEM. В последнем случае нужно убрать пароль с файла командами:

Openssl pkcs12 -export -in server.pem -out aa.pfx openssl pkcs12 -in aa.pfx -out serverNoPass.pem –nodes

INFO

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

Примерами пакетных фильтров для UNIX-like ОС являются BPF (Berkeley Packet Filter) и LSF (Linux Socket Filter). В BPF фильтрация реализована на основе регистро-ориентированного примитивного машинного языка, интерпретатором которого и является BPF.


Анализируем трафик с удаленных хостов

Пользователи Windows могут работать не только с интерфейсами того компьютера, на котором запущен Wireshark, но и снимать трафик с удаленных машин. Для этого существует специальная служба (Remote Packet Capture Protocol) в поставке библиотеки WinPcap. Ее нужно предварительно включить в оснастке управления службами (services.msc). Теперь, запустив Wireshark на удаленном компьютере, можно подключиться к тому узлу, на котором работает сервис удаленного перехвата трафика (по умолчанию использует порт 2002), и данные по протоколу RPCAP потекут к тебе рекой.

Также приведу варианты подключения к домашнему *nix-роутеру «извне» для удаленного анализа трафика:

$ ssh [email protected] "tshark -f "port !22" -i any -w -" | wireshark -k -i - $ ssh [email protected] tcpdump -U -s0 -w - "not port 22" | wireshark -k -i -

Инструмент из разряда must have

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

Извлечь полезный груз

В определенных кругах широко известны специализированные инструменты, позволяющие «вытаскивать» из трафика конечные информационные объекты: файлы, изображения, видео- и аудиоконтент и прочее. Благодаря мощной аналитической подсистеме, Wireshark эту функциональность с лихвой покрывает, поэтому ищи в соответствующих окнах анализа кнопку «Save Payload…».

Заключение

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

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

Какой наиболее мощный инструмент для захвата и анализа интернет трафика на сегодняшний день? Ответ прост - программа Wireshark. Она способна перехватывать не только исходящие TCP пакеты, но и входящие. Такой инструмент состоит на вооружении многих профессионалов. Да и хакеры не гнушаются его использовать. Возможности программы безграничны. С ее помощью можно вытащить любой файл из пакета, просмотреть его и проверить. Главный вопрос состоит в том, как это сделать. В этом мы и попробуем разобраться.

Что такое Wireshark

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

  • кроссплатформенность (есть версии для Linux, Mac, Unix);
  • утилита совершенно бесплатна;
  • обладает широким функционалом;
  • гибкость настройки;
  • возможность фильтрации трафика;
  • создание собственных фильтров;
  • перехват пакетов в реальном времени.

Преимуществ у данной утилиты действительно много. А вот недостатков как таковых нет вообще. Недаром Wireshark считается лучшей в своем роде для захвата и анализа TCP пакетов. Теперь нужно немного разобраться в самой программе.

Установка и настройка

Скачать Wireshark можно с официального сайта разработчика. Программа совершенно бесплатна. Стоит обратить внимание на то, что последняя версия (2.0.5) не работает с Wi-Fi адаптерами. Поэтому, если вам нужно анализировать трафик беспроводного соединения, следует скачать более старую версию.

Установка утилиты стандартна и не вызовет никаких проблем даже у новичков. В инсталляторе все понятно, хоть он и на английском. Кстати, Wireshark на русском языке в природе не существует, поэтому для того, чтобы успешно справляться с этим софтом придется напрячь память и вспомнить английский. В принципе, для простого захвата и просмотра TCP пакетов ничего сверхъестественного не понадобится. Хватит и школьного уровня английского.

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

Ничего страшного в нем нет. В этом вы сейчас убедитесь. Для начала работы нужно сначала выбрать источник, из которого будет производиться захват TCP пакетов. Перехват может осуществляться как с Ethernet подключения, так и с WLAN адаптера. В качестве примера рассмотрим вариант с WLAN. Для настройки нужно зайти в пункт «Capture», подпункт «Options». В открывшемся окне следует выбрать ваш беспроводной адаптер и отметить его галочкой. Для начала захвата трафика достаточно нажать кнопку «Start».

После нажатия «Start» начнется анализ и захват пакетов. В окне появится много непонятных букв и цифр. Некоторые из пакетов имеют собственную цветовую маркировку. Для того, чтобы хоть что-то понять, нужно определить какой цвет к чему относится. Зеленый - TCP трафик, темно-синий - DNS, светло-синий - UDP и черный - пакеты TCP с ошибками. Теперь разобраться в этой горе данных проще.

Для остановки процесса перехвата достаточно нажать кнопку «Stop», которая помечена красным прямоугольником. Теперь можно выбрать интересующий вас пакет и просмотреть его. Для этого нужно щелкнуть по пакету правой клавишей мыши и в появившемся меню выбрать пункт «Show packet in new window». Тут же появится куча непонятных букв и цифр.

Но при углубленном изучении представленной информации можно понять, откуда и куда шел пакет и из чего он состоял. Для того чтобы просмотреть данные о TCP пакетах позднее, нужно использовать функцию сохранения захваченной информации. Она находится в пункте меню «File», подпункт «Save as». Потом можно будет загрузить информацию из файла и спокойно просмотреть ее.

Использование фильтров

Для отображения только той информации, которая вас интересует можно заставить Wireshark использовать фильтры и отсекать ненужный трафик. Инструкция по тонкой настройке фильтров находится в Сети, а мы пока рассмотрим только один пример. Допустим, вас интересуют только TCP пакеты. Для того, чтобы программа отображала только их, следует зайти в пункт меню «Capture», подпункт «Capture filters», выбрать пункт «TCP Only» и нажать кнопку «OK».

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

Заключение

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

Видео

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

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

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

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

Если вы совершенно новичок в Wireshark, сначала загрузите его и установите его в свою систему.

После установки запустите графический интерфейс Wireshark.

Вот пример главного экрана Wireshark:

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

Как только вы нажмете кнопку «start», информация о всех входящих и исходящих пакетах данных (на выбранном интерфейсе) отображается на выходе.

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

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

Примеры фильтров экрана Wireshark

В этом разделе мы обсудим 5 полезных синтаксисов фильтра выводов

1. Отфильтровать результаты по протоколу

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

Вот пример:

Таким образом, вы можете увидеть, что все пакеты, содержащие протоколы TCP, были отображены на выводе.


2. Отфильтровать результаты по порту

Вы также можете фильтровать результаты на основе сетевых портов. Например, чтобы отображать только те пакеты, которые содержат протокол TCP, и имеют порт источника или назначения 80, просто напишите tcp.port eq 80 в окне фильтра.

Вот пример скриншота:

3. Отфильтруйте результаты, основанные на нескольких условиях

Если есть сценарий, в котором вы хотите отображать результаты, основанные на условиях, которые не связаны друг с другом, используйте фильтр or . Например, чтобы отобразить все пакеты, содержащие протокол TCP или DNS, просто напишите t cp or dns в окне фильтра.

Вот пример скриншота:

Таким образом, вы можете увидеть, что на выходе будут отображены пакеты, содержащие протокол TCP или DNS.

Аналогичным образом вы можете использовать фильтр and . Этот фильтр используется там, где вы хотите отображать результаты на основе условий, не связанных друг с другом. Например, чтобы отобразить все пакеты, содержащие TCP, а также HTTP-протокол, просто напишите tcp and http в поле фильтра.

Вот пример скриншота:

Вы можете увидеть, что на выходе будут отображены пакеты, содержащие протокол TCP и HTTP.

4. Отфильтровать результаты по IP-адресам

Для фильтрации результатов на основе IP-адресов используйте фильтры src или dst .

Например, чтобы отображать только те пакеты, которые содержат исходящий IP-адрес 192.168.0.103, просто напишите ip.src == 192.168.0.103 в окне фильтра.

Вот пример:

Аналогичным образом, вы можете использовать фильтр dst (ip.dst) для фильтрации пакетов на основе IP-адресов назначения.

5. Отфильтровать результаты на основе последовательности байтов

Иногда требуется проверять пакеты на основе определенной последовательности байтов.

Для этого просто используйте фильтр contains с именем протокола и последовательностью байтов.

На выходе будут отображены пакеты TCP, содержащие байтовую последовательность 00:01:02.


Top