зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие

Фильтры захвата для сетевых анализаторов (tcpdump, Wireshark, Paketyzer)

1. Фильтры захвата

2. Синтаксис фильтров захвата

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

Например:
host 192.168.0.1 – захват трафика в котором в качестве адреса (отправителя или получателя) стоит IP 192.168.0.1
net 172.16.0.0/16 – захват трафика в котором в качестве адреса (отправителя или получателя) стоит IP из сети 172.16.0.0/16 (точнее находится в диапазоне от 172.16.0.0 до 172.16.255.255), при этом, так как это всего лишь фильтр поиска совпадающих адресов, совершенно не важно какая настроена маска на интерфейсе, и вас не должно смущать что 172.16.0.0 по маске /16 это номер сети, мы совершенно не знаем какая маска настроена на интерфейсе, и формально, такой адрес узла допустим.
port 80 – захват трафика в котором есть данные принадлежащие порту 80 (udp или tcp)
10.0.0.1 – захват трафика в котором в качестве адреса (отправителя или получателя) стоит IP 10.0.0.1, классификатор host не указан, но он предполагается по умолчанию.

Например:
src host 192.168.0.1 – захват трафика в котором в качестве адреса отправителя (не получателя) стоит IP 192.168.0.1
dst net 172.16.0.0/16 – захват трафика в котором в качестве адреса получателя (не отправителя) стоит IP из сети 172.16.0.0/16 (точнее находится в диапазоне от 172.16.0.0 до 172.16.255.255).

Например:
src ether host 00:11:22:33:44:55 – захват трафика в котором в качестве MAC адреса отправителя используется 00:11:22:33:44:55.
ip icmp – захват ICMP пакетов.
tcp port 80 – захват трафика в котором есть данные принадлежащие TCP порту 80

Например:
ip multicast – захват ip пакетов, содержащих адреса из класса D.
less 1000 – захват кадров, у которых размер менее 1000 байт.

Например:
net 192.168.0.0/24 and tcp port 21 – захват трафика принадлежащего сети (диапазону) 192.168.0.0/24 (или отправитель или получатель) и передающего данные по протоколу TCP и использующего порт 21.
host 192.168.0.1 or host 192.168.0.221 – захват трафика принадлежащего или хосту 192.168.0.1 или хосту 192.168.0.221 (при чем не важно кто отправитель, кто получатель и так же достаточно выполнения одно из двух условий, что бы хотя бы один из этих адресов присутствовал в кадре)
host 192.168.0.1 or host 192.168.0.2 and tcp port 22 – захват или любого трафика принадлежащего хосту 192.168.0.1 или трафика протокола TCP и использующего порт 22 принадлежащего хосту 192.168.0.2.
(host 192.168.0.1 or host 192.168.0.2) and tcp port 22 – захват трафика протокола TCP и использующего порт 22 принадлежащего хосту 192.168.0.1 или хосту 192.168.0.2 (любому из них, или обоим сразу).
(host 192.168.0.1 || host 192.168.0.1) && not tcp port 22 – захват любого трафика кроме трафика протокола TCP и использующего порт 22 принадлежащего хосту 192.168.0.1 или хосту 192.168.0.2 (любому из них, или обоим сразу).

Например:
net 192.168.0.0/24 and (tcp port 21 or tcp port 20 or tcp port 25 or tcp port 80 or tcp port 110)
можно сократить до
net 192.168.0.0/24 and (tcp port 21 or 20 or 25 or 80 or 110)

Внимание:
Выражение исключающее пакеты, в которых есть адреса 1.1.1.1 и 1.1.1.2:
not (host 1.1.1.1 and host 1.1.1.2)
Можно сократить как:
not (host 1.1.1.1 and 1.1.1.2)
Но не как:
not host 1.1.1.1 and 1.1.1.2 – в этом случае будут показаны пакеты в которых нет первого адреса и есть второй.
И не так
not ( host 1.1.1.1 or 1.1.1.2) – в этом случае будут исключены пакеты в которых есть хотя бы один из указанных двух адресов.

Список основных примитивов, которые могут быть использованы для написания фильтров захвата, показан в таблице 2-1.

Таблица 2-1. Список основных примитивов, которые могут быть использованы для написания фильтров захвата.

ПримитивОписание
dst host ip_addressЗахватывать кадры, в которых в поле адреса получателя заголовка IPv4/IPv6 содержит заданный адрес узла
src host ip_addressЗахватывать кадры, в которых в поле адреса отправителя заголовка IPv4/IPv6 содержит заданный адрес узла
host ip_addressЗахватывать кадры, в которых в поле адреса отправителя или получателя заголовка IPv4/IPv6 содержит заданный адрес узла.
Эквивалентен фильтру:
ether proto ip and host ip_address
ether dst mac_addressЗахватывать кадры, в которых в поле адреса получателя заголовка канального уровня содержит заданный MAC адрес узла
ether src mac_addressЗахватывать кадры, в которых в поле адреса отправителя заголовка канального уровня содержит заданный MAC адрес узла
ether host mac_addressЗахватывать кадры, в которых в поле адреса отправителя или получателя заголовка канального уровня содержит заданный MAC адрес узла
dst net networkЗахватывать кадры, в которых в поле адреса получателя заголовка IPv4/IPv6 содержит заданный адрес, принадлежащий диапазону указанной классовой сети
src net networkЗахватывать кадры, в которых в поле адреса отправителя заголовка IPv4/IPv6 содержит заданный адрес, принадлежащий диапазону указанной классовой сети
net networkВыбирает все пакеты IPv4/IPv6, содержащие адреса из указанной сети в поле отправителя или получателя
net network mask maskЗахватывать кадры, в которых в поле адреса отправителя или получателя заголовка IPv4/IPv6 содержит заданный адрес, принадлежащий диапазону указанной сети
net network/mask_lengthЗахватывать кадры, в которых в поле адреса отправителя или получателя заголовка IPv4/IPv6 содержит заданный адрес, принадлежащий диапазону указанной сети
dst port portЗахватывать кадры, в которых в поле порт получателя заголовка UDP или TCP содержит заданный номер порта
src port portЗахватывать кадры, в которых в поле порт отправителя заголовка UDP или TCP содержит заданный номер порта
port portЗахватывать кадры, в которых в поле порт отправителя заголовка UDP или TCP содержит заданный номер порта
less lengthЗахватывать кадры, размер которых не больше указанного значения
greater lengthЗахватывать кадры, размер которых не меньше указанного значения
ip proto protocolЗахватывать кадры, в которых в поле «Protocol» заголовка IPv4, содержится идентификатор указанного протокола. При этом можно указывать не только численные значения протоколов, но и их стандартные имена (icmp, igmp, igrp, pim, ah, esp, vrrp, udp, tcp и другие). Однако следует учитывать, что tcp, udp и icmp используются также в качестве ключевых слов, поэтому перед этими символьными идентификаторами следует помешать символ обратного слэша («\»)
ip6 proto protocolЗахватывать кадры, в которых в поле «Protocol» заголовка IPv4, содержится идентификатор указанного протокола. При этом можно указывать не только численные значения протоколов, но и их стандартные имена (icmp6, igmp, igrp, pim, ah, esp, vrrp, udp, tcp и другие). Однако следует учитывать, что tcp, udp и icmp6 используются также в качестве ключевых слов, поэтому перед этими символьными идентификаторами следует помешать символ обратного слэша («\»)
ether broadcastЗахватывать все широковещательные кадры Ethernet. Ключевое слово ether может быть опущено
ip broadcastЗахватывать кадры, содержащие широковещательные адреса в заголовке пакета IPv4. При этом для определения, является ли адрес широковещательным, используется маски подсети для интерфейса, который используется для захвата пакетов. Так же захватывает пакеты, отправленные на ограниченный широковещательный адрес
ether multicastЗахватывать все групповые кадры Ethernet. Ключевое слово ether может быть опущено
ip multicastЗахватывать кадры, содержащие групповые адреса в заголовке пакета IPv4
ip6 multicastЗахватывать кадры, содержащие групповые адреса в заголовке пакета IPv6
ether proto protocol_typeЗахватывать кадры Ethernet с заданным типом протокола. Протокол может быть указан по номеру или имени (ip, ip6, arp, rarp, atalk, aarp, decnet, sca, lat, mopdl, moprc, iso, stp, ipx, netbeui)
ip, ip6, arp, rarp, atalk, aarp, decnet, iso, stp, ipx, netbeui, tcp, udp, icmpЗахватывать кадры передающие данные указанного протокола. Используются в качестве сокращения для:
ether proto protocol
vlan [vlan_id]Захватывать кадры соответствующе стандарту IEEE 802.1Q. Если при этом указан номер vlan_id, то захватываются только кадры принадлежащие указанному VLAN

3. Расширенные примеры фильтров захвата

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

Таким образом, если интересующий нас бит равен единице, в результате наложения маски мы получим вес этого бита, если он равен нулю, то мы получим ноль.
Исходя из этого, для решения этой задачи нам необходимо применить следующий фильтр:
ip[1:1] & 2 = 2

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

Можно привести еще один пример на основании анализа поля Type Of Service заголовка IP: нам нужно увидеть все кадры, в которых в заголовке IPv4 в поле ToS значение битов Precedence (предпочтительность) не равна нулю. Для этого применим маску, в который единичками выделим те биты, которые отвечают за Precedence:

Результат не равен нулю, и это говорит о том, что поле Precedence так же не равно нулю.

Результат равен нулю, и это говорит о том, что поле Precedence так же равно нулю.

Рассмотрим пример с другим протоколом. Возьмем протокол TCP.
Например, нам нужно захватить все кадры, которые передают TCP сегменты с опциями. Для того что бы понять, что нужно искать и где обратимся к RFC-793.

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

Источник

Руководство и шпаргалка по Wireshark

зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. image loader. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие фото. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие-image loader. картинка зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. картинка image loader.Даже поверхностное знание программы Wireshark и её фильтров на порядок сэкономит время при устранении проблем сетевого или прикладного уровня. Wireshark полезен для многих задач в работе сетевого инженера, специалиста по безопасности или системного администратора. Вот несколько примеров использования:

Устранение неполадок сетевого подключения

Исследование сессий прикладного уровня (даже при шифровании с помощью SSL/TLS, см. ниже)

Устранение неполадок DHCP с данными на уровне пакетов

Извлечение файлов из сессий HTTP

Извлечение файлов из сессий SMB

Обнаружение и проверка вредоносных программ

Проверка сканирования портов и других типов сканирования на уязвимости

Установка Wireshark

Wireshark работает на различных операционных системах и его несложно установить. Упомянем только Ubuntu Linux, Centos и Windows.

Установка на Ubuntu или Debian

Установка на Fedora или CentOS

Установка на Windows

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

Начало работы с фильтрами

С первым перехватом вы увидите в интерфейсе Wireshark стандартный шаблон и подробности о пакете.

Как только захватили сессию HTTP, остановите запись и поиграйте с основными фильтрами и настройками Analyze | Follow | HTTP Stream.

Примеры фильтров по IP-адресам

Примеры фильтров по протоколу

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

Следуйте за потоком

Как только вы захватили несколько HTTP-пакетов, можно применить на одном из них пункт меню Analyze | Follow | HTTP Stream. Он покажет целиком сессию HTTP. В этом новом окне вы увидите HTTP-запрос от браузера и HTTP-ответ от сервера.

зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. image loader. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие фото. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие-image loader. картинка зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. картинка image loader.

Резолвинг DNS в Wireshark

По умолчанию Wireshark не резолвит сетевые адреса в консоли. Это можно изменить в настройках.

Edit | Preferences | Name Resolution | Enable Network Name Resolution

Tshark для командной строки

Составление правил для файрвола

зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. image loader. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие фото. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие-image loader. картинка зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. картинка image loader.

Работа с географической базой GeoIP

Если Wireshark скомпилирован с поддержкой GeoIP и у вас есть бесплатные базы Maxmind, то программа может определять местоположение компьютеров по их IP-адресам. Проверьте в About | Wireshark, что программа скомпилирована с той версией, какая у вас в наличии. Если GeoIP присутствует в списке, то проверьте наличие на диске баз GeoLite City, Country и ASNum. Укажите расположение баз в меню Edit | Preferences | Name Resolution.

Проверьте систему на дампе трафика, выбрав опцию Statistics | Endpoints | IPv4. В колонках справа должна появиться информация о местоположении и ASN для IP-адреса.

зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. image loader. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие фото. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие-image loader. картинка зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. картинка image loader.

Конечно, тот же фильтр можно применить к отдельным городам и странам. Удалите шум и оставьте только действительно интересный трафик.

Расшифровка сессий SSL/TLS

Один из способов расшифровки сессий SSL/TLS — использовать закрытый ключ с сервера, к которому подключен клиент.

Конечно, у вас не всегда есть доступ к приватному ключу. Но есть другой вариант простого просмотра трафика SSL/TLS на локальной системе. Если Firefox или Chrome загружаются с помощью специальной переменной среды, то симметричные ключи отдельных сеансов SSL/TLS записаны в файл, который Wireshark может прочитать. С помощью этих ключей Wireshark покажет полностью расшифрованную сессию!

1. Настройка переменной среды

На вкладке System Properties | Advanced нажмите кнопку Environment Variables и добавьте имя переменной (SSLKEYLOGFILE), а в качестве значения — путь к файлу.

2. Настройка Wireshark

Из выпадающего меню выберите Edit | Preferences | Protocols | SSL | (Pre)-Master-Secret Log Filename — Browse, указав файл, который вы указали в переменную среды.

Начинайте захват трафика в локальной системе.

3. Перезапуск Firefox или Chrome

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

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

зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. image loader. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие фото. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие-image loader. картинка зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. картинка image loader.

Другой способ просмотра сеанса — через выпадающее меню Analysis | Follow | Stream | SSL. Если сеанс успешно расшифрован, вы увидите опцию для SSL.

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

Ещё один вариант выхода на базовый HTTP-трафика — использовать инструмент Burp Suite с загруженным сертификатом CA в браузере. В этом случае прокси расшифровывает соединение на стороне клиента, а затем устанавливает новый сеанс SSL/TLS на сервере. Есть много способов проведения такой MiTM-атаки на себя, это два самых простых.

Извлечение файлов из пакетов с помощью функции экспорта (HTTP или SMB)

Файлы легко извлекаются через меню экспорта.

File | Export Objects | HTTP

Все найденные файлы отобразятся в новом окне. Отсюда же можно сохранить отдельные файлы или сразу все. Аналогичный метод применяется для извлечения файлов из сессий SMB. Как мы уже упоминали, это протокол Microsoft Server Message Block, который используется для общего доступа к файлам под Windows.

зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. image loader. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие фото. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие-image loader. картинка зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. картинка image loader.

Строка состояния

Строка состояния в правой части окна позволяет быстро перейти в нужное место сетевого дампа, щёлкнув по цветовому индикатору. Например, красным цветом в строке состояния помечены пакеты с ошибками.

зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. image loader. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие фото. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие-image loader. картинка зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. картинка image loader.

Образец PCAP

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

Настройка окружения

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

Столбцы настраиваются в меню Edit | Preferences | Appearance | Columns. Там же изменяется общий шаблон, шрифт и цвета.

На видео — полезные советы по настройке окружения, в том числе выявление неполадок по порядковым номерам последовательности TCP.

capinfos

Источник

Wireshark для всех. Лайфхаки на каждый день

зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. image loader. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие фото. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие-image loader. картинка зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. картинка image loader.
Пакет с сертификатами от Хабра

Практические варианты использования

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

Расшифровка трафика SSL/TLS

Chrome и Firefox могут записывать логи сессионных ключей, которые используются для шифрования трафика SSL/TLS. Наша задача — включить запись этих логов, а потом загрузить их в Wireshark для анализа. Предполагается, что у нас есть физический доступ к компьютеру пользователя, трафик которого мы хотим расшифровать. Или к серверу, который устанавливает зашифрованное соединение с пользователем.

Сначала включаем запись ключей.

Старые билды Windows 10

В старых билдах Windows 10 работает старый метод. Заходим в Панель управленияСистема и безопасностьСистема. На вкладке «Дополнительные параметры системы» нажимаем кнопку «Переменные среды».

зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. image loader. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие фото. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие-image loader. картинка зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. картинка image loader.

Добавляем для пользователя новую переменную SSLKEYLOGFILE и указываем путь до файла.

зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. image loader. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие фото. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие-image loader. картинка зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. картинка image loader.

В результате получаем логи с ключами, начало файла:

Новые билды Windows 10

В более новых версиях после установки Windows 10 старый способ добавления переменных окружения может больше не работать. Тогда есть альтернативный вариант с помощью команды в оболочке PowerShell.

[Environment]::SetEnvironmentVariable(«PATH», «C:\TestPath», «User»)

Первый параметр — это имя переменной, второй — значение, третий — для какого уровня переменная (пользовательский или системный).

[Environment]::SetEnvironmentVariable(«SSLKEYLOGFILE», «D:\wireshark», «User»)

Linux и Mac OS X

Под Linux и Mac OS X можно использовать такую команду для изменения переменной окружения и ведения логов — с запуском браузера из того же терминального окна, поскольку переменные окружения всегда работают в пределах одной сессии.

После накопления лога запускаем Wireshark.

зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. image loader. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие фото. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие-image loader. картинка зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. картинка image loader.

Заходим в «Параметры», там на вкладке «Протоколы» (Protocols) находим раздел TLS (раньше он назывался SSL) — и указываем путь к файлу с логами и ключом, который использовался в сессии симметричного шифрования: (Pre)-Master-Secret log filename.

зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. image loader. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие фото. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие-image loader. картинка зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. картинка image loader.

Например, при заходе пользователя на сервер Gmail в окне инспектирования пакетов QUIC мы видим обычные пакеты QUIC, зашифрованные ключом TLS.

зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. image loader. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие фото. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие-image loader. картинка зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. картинка image loader.

Но в нижней части экрана появляется новая вкладка Decrypted QUIC, которая показывает расшифрованное содержимое этих пакетов.

зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. image loader. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие фото. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие-image loader. картинка зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. картинка image loader.

Такой метод расшифровки трафика клиента не требует установки Wireshark на его компьютер, достаточно только скачать дамп с ключами, а потом использовать его вместе с дампом трафика.

Примечание. Этот способ не ограничен только HTTP. Точно так же можно перехватывать и расшифровывать трафик SSL/TLS в других потоках. Например, зашифрованный трафик от сервера MySQL.

зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. image loader. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие фото. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие-image loader. картинка зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. картинка image loader.

Анализируем трафик с другого компьютера

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

Записываем пакеты на сервере с помощью сниффера пакетов tcpdump, который входит в стандартный комплект *nix:

Затем копируем файлы к себе на компьютер:

Здесь уже запускаем Wireshark и открываем полученный файл.

Есть вариант отслеживать серверный трафик в реальном времени со своего домашнего/рабочего компьютера. Например, весь трафик, кроме портов 22 и 53:

Примерно то же самое с компьютера под Windows:

Ищем проблемы

Чтобы выделить конкретное TCP-соединение, находим любой интересующий пакет, щёлкаем по нему правой кнопкой мыши — и применяем фильтр диалога.

зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. image loader. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие фото. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие-image loader. картинка зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. картинка image loader.

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

зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. image loader. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие фото. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие-image loader. картинка зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. картинка image loader.

На скриншоте мы видим пакеты с начала установки соединения TLS: пакет с приветствием клиента, ответный пакет с приветствием сервера, предъявленный сертификат, список шифров и так далее. Содержимое каждого пакета можно изучить отдельно. Очень удобно.

Типичный паттерн — использовать Wireshark для диагностики конкретных проблем. Например, в случае разрыва TLS-соединения мы можем зайти и посмотреть, кто его разорвал (клиент или сервер), на каком этапе это произошло и по какой причине.

Содержимое пакетов

Побайтовое содержимое каждого пакета — это настоящая магия. Конкретно эта функциональность Wireshark позволяет выявить самые серьёзные баги. Например, несколько лет назад выяснилось, что гигабитные Ethernet-контроллеры Intel 82574L отключаются, если отправить на них специально сконструированный пакет с определённой последовательностью байтов — так называемый «пакет смерти». Именно благодаря Wireshark выяснилось, какие конкретно байты в пакете приводят к гарантированному отключению сетевой карты.

Вот запись конкретных пакетов: pod-http-post.pcap и pod-icmp-ping.pcap. Можем их скачать, открыть в Wireshark и посмотреть своими глазами.

Отключение сетевого интерфейса Intel происходит, если по адресу 0x47f находится значение 2 или 3, то есть 32 HEX или 33 HEX. Если там 4, то всё нормально.

зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. image loader. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие фото. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие-image loader. картинка зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. картинка image loader.

Для атаки подходил любой пакет: HTTP POST, ICMP echo-request и проч. Например, на веб-сервере можно сконфигурировать ответ 200 таким образом, что «убивает» сетевые интерфейсы на клиентских машинах. Довольно любопытная ситуация.

Поиск пакетов по содержанию

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

Трафик с мобильного телефона

Аналогичным образом можно проанализировать трафик с фитнес-часов по Bluetooth или трафик любого мобильного приложения под Android. Для этого нужно записать пакеты PCAP на мобильном устройстве — и передать их для анализа в Wireshark на рабочем ПК.

Есть несколько мобильных программ для записи PCAP. Например, приложение
PCAPdroid для Android:

зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. image loader. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие фото. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие-image loader. картинка зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. картинка image loader.
PCAPdroid

В принципе, можно не передавать записанные файлы PCAP, а анализировать их прямо на мобильном устройстве. В некоторых мобильных снифферах есть и зачаточные функции анализатора пакетов, см. Packet Capture и Termux (о нём ниже).

зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. image loader. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие фото. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие-image loader. картинка зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. картинка image loader.
Packet Capture

Wireshark имеет и прямой интерфейс Androiddump, чтобы снимать данные с телефона напрямую через Android SDK.

Трафик с телевизора и других бытовых приборов

Чтобы изучить трафик с телевизора, смартфона жены или других бытовых приборов, которые подключены в домашнюю сеть по Ethernet и WiFi, придётся записывать PCAP на маршрутизаторе. Иногда достаточно встроенных инструментов. Если у вас маршрутизатор с прошивкой DD-WRT, то можно прямо на устройстве запустить tcpdump :

Для прошивки OpenWrt есть вариант зеркалировать трафик с помощью iptables-mod-tee.

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

зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. image loader. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие фото. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие-image loader. картинка зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. картинка image loader.

зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. image loader. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие фото. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие-image loader. картинка зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. картинка image loader.

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

Далее всё по накатанной — загружаем файлы в Wireshark, запускаем фильтры.

Кстати, Wireshark поддерживает также анализ трафика USB: встроенный сниффер USBPcap и импорт пакетов из сторонних снифферов, таких как Npcap и RawCap.

Termshark

Если вы анализируете объёмные логи на удалённом сервере, но не хотите копировать всё на свою машину, может пригодиться Termshark — удобный пользовательский интерфейс в консоли для анализатора TShark, по внешнему виду напоминающий Wireshark.

Функции

Вот как выглядит версия под Android:

зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. image loader. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие фото. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие-image loader. картинка зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. картинка image loader.

Wireshark как веб-приложение

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

зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. image loader. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие фото. зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие-image loader. картинка зачем используются фильтры отображения и фильтры захвата сниффера wireshark в чем их отличие. картинка image loader.

Основная функция — совместная работа и публикация разборов пакетов по URL. Например, cloudshark.org/captures/05aae7c1b941. Файлы загружаются в облако и анализируются в браузере. Это нужно, если вы хотите спросить совета на форуме, поделиться информацией с коллегами или опубликовать разбор пакетов для широкой аудитории. Кстати, удобно использовать с мобильного телефона, ведь под Android есть приложения для захвата пакетов, а вот хорошего анализатора нет.

Сервис платный, есть 30-дневный пробный период.

В общем, Wireshark — просто фантастическая программа на все случаи жизни.

Кроме реальной практической пользы, анализатор даёт примерное представление о том, как работает фильтрация DPI у российских провайдеров. Там всё устроено примерно так же. Система в реальном времени сканирует трафик, фильтрует конкретно пакеты от Twitter — и замедляет их доставку пользователям на территории России. В частности, этим непотребством занимается Роскомнадзор с 10 марта 2021 года.

На правах рекламы

Если для работы необходим сервер в аренду на Linux или Windows, то вам однозначно к нам — активация услуги через минуту после оплаты!

Источник

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *