→ Как пользоваться Wireshark? Анализ трафика. Wireshark: Анализ трафикa в Linux и Windows Wireshark сохранить отфильтрованные пакеты

Как пользоваться Wireshark? Анализ трафика. Wireshark: Анализ трафикa в Linux и Windows Wireshark сохранить отфильтрованные пакеты


Автор: Riccardo Capecchi
Дата публикации: 22 марта 2011 г.
Перевод: А.Панин
Дата публикации перевода: 29 ноября 2012 г.

В этой статье мы рассмотрим процесс применения BPF-фильтров в Wireshark для показа подробностей функционирования сессии HTTP, сессии e-mail, а также рассмотрим процесс мониторинга посетителей выбранного сайта из локальной сети. В качестве заключения я приведу список особо полезных выражений фильтров для использования в Wireshark.

Помимо примера с FTP, описанного в предыдущей части статьи , существует еще один классический пример использования Wireshark - исследование HTTP-сессии. Как и раньше, запустите Wireshark и начните захват трафика с интерфейса, направленного во внешнюю сеть. В настоящее время большая часть HTTP-трафика подвергается сжатию для повышения скорости обмена информацией, поэтому по умолчанию Wireshark производит декомпрессию полезной нагрузки HTTP-пакетов. Вы можете выбрать пункты меню " Edit->Preferences->Protocols->HTTP " и убедиться, что параметр " Uncompress entity bodies " выбран.

Во время захвата пакетов, установите фильтр для отображения исключительно HTTP-трафика, введя http в качестве выражения фильтрации. Каждая веб-страница, которую посещает любой пользователь из вашей сети, будет генерировать вид трафика, который вы будете захватывать - следует ожидать большое количество информации. Возможно, вас интересует вас интересует определенный вид информации или определенный пользователь. Для этого в главном окне, где представлены все принятые пакеты, выберите http-запрос и с помощью правой кнопки мыши выберите пункт меню " Follow TCP Stream ". Wireshark откроет новое окно, содержащее полную реконструкцию HTTP-сессии в хронологическом порядке.

Вы также можете отделить запросы к определенному сайту, например, к Facebook - для того, чтобы увидеть, с каких IP-адресов происходили запросы, выражение в поле фильтра должно быть следующим: http.request.uri contains facebook .

Теперь предположим, что вам захотелось увидеть весь входящий и исходящий трафик для одного определенного компьютера. Вам понадобится фильтр по MAC-адресу для того, чтобы быть уверенным в том, что исследуется нужный клиент. Для получения MAC-адреса целевой системы на другом конце соединения, необходимо осуществить пинг по имени узла или URL для получения IP-адреса системы. После этого используется команда arp: ping target.com arp -a

В списке, выведенном командой arp , необходимо найти IP-адрес, полученный в результате выполнения команды ping . После того, как у вас в распоряжении будет MAC-адрес, скажем, " AA:BB:CC:DD:EE:FF " - введите выражение в поле фильтра: eth.addr == AA:BB:CC:DD:EE:FF

В качестве альтернативного варианта, вы можете использовать фильтрацию по IP-адресу, но в сетях, использующих DHCP для присвоения IP-адресов, IP-адрес целевой системы может измениться в любое время: ip.addr == 192.168.0.1

Нажмите " Apply " и вы увидите только входящий и исходящий трафик для выбранного IP- или MAC-адреса. В случае применения параметра " ip " отображается весь трафик, относящийся к межсетевому протоколу (Internet Protocol), что подходит в 99% случаев исследования сетей.

Вместо параметра фильтра " ip.addr ", вы можете использовать параметр " host " следующим образом: host 192.168.0.1

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

Теперь представим, что вы хотите захватить весь трафик для узла, генерируемый приложениями, использующими заданные протоколы, такие, как pop3 , ftp , http или messenger . Введите выражение в поле фильтра: ip.addr == 192.168.0.1 and (http or ftp or messenger or pop)

Это выражение сообщает о том, что следует показывать только трафик, генерируемый или направленный к узлу с IP-адресом 192.168.0.1 и отображать только пакеты, относящиеся к протоколам ftp , pop или messenger .

Вы можете захватывать весь такой трафик, передающийся в сети с заданным адресом или от группы клиентов: ip.addr == 192.168.0 and (http or ftp or messenger or pop)

Наиболее часто используемые фильтры для Wireshark

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

  • ip.addr == 192.168.0.1 - Отображать трафик, передающийся относительно узла 192.168.0.1 в обоих направлениях.
  • tcp.port == 80 - Отображать весь трафик с исходным или целевым портом 80.
  • ip.src == 192.168.0.1 and ip.dst == 10.100.1.1 - Отображать весь трафик, генерируемый узлом 192.168.0.1 и направленный на узел 10.100.1.1
  • ftp - Отображать трафик, относящийся к протоколу FTP
  • http - Отображать трафик, относящийся к протоколу HTTP
  • dns - Отображать трафик, относящийся к протоколу DNS
  • http.request.uri contains string - Отображать HTTP-трафик, в том случае, когда URL содержит строку "string".

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

Введение

В работе компьютерной сети и сетевого стека узлов иногда возникают проблемы, причины которых трудно обнаружить общеизвестными утилитами сбора статистики (такими например, как netstat) и стандартными приложениями на основе протокола ICMP (ping, traceroute/tracert и т.п.). В подобных случаях для диагностики неполадок часто приходится использовать более специфичные средства, которые позволяют отобразить (прослушать) сетевой трафик и проанализировать его на уровне единиц передачи отдельных протоколов («сниффинг», sniffing ).

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

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

Рассматриваемый в данной статье продукт Wireshark является широко известным инструментом перехвата и интерактивного анализа сетевого трафика, фактически, стандартом в промышленности и образовании. К ключевыми особенностям Wireshark можно отнести: многоплатформенность (Windows, Linux, Mac OS, FreeBSD, Solaris и др.); возможности анализа сотен различных протоколов; поддержку как графического режима работы, так и интерфейса командной строки (утилита tshark); мощную систему фильтров трафика; экспорт результатов работы в форматы XML, PostScript, CSV и т. д.

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

Установка Wireshark

Последнюю версию Wireshark для операционных систем Windows и OS X, а также исходный код можно скачать с сайта проекта . Для дистрибутивов Linux и BSD-систем, данный продукт обычно доступен в стандартных или дополнительных репозиториях. Опубликованные в данной статье снимки экранов сделаны с версии 1.6.2 Wireshark для Windows. Более ранние версии программы, которые можно найти в репозиториях Unix-подобных операционных систем, также можно успешно использовать, так как Wireshark давно уже стабильный и функциональный продукт.

Работа Wireshark базируется на библиотеке Pcap (Packet Capture) , предоставляющей собой прикладной интерфейс программирования для реализации низкоуровневых функций взаимодействия с сетевыми интерфейсами (в частности перехвата и генерации произвольных единиц передачи сетевых протоколов и протоколов локальных сетей) . Библиотека Pcap является также основой таких известных сетевых средств, как tcpdump, snort, nmap, kismet и т. д. Для Unix-подобных систем Pcap обычно присутствует в стандартных репозиториях программного обеспечения. Для семейства операционных систем Windows существует версия Pcap, которая называется Winpcap. Ее можно скачать с сайта проекта . Впрочем, обычно в этом нет необходимости, так как библиотека Winpcap включена в пакет установки Wireshark для Windows.

Процесс установки программы не сложен для любой операционной системы, с поправкой, разумеется, на специфику используемой Вами платформы. Например, Wireshark в Debian/Ubuntu устанавливается так, что непривилегированные пользователи по умолчанию не имеют права перехватывать пакеты, поэтому программу нужно запускать с использованием механизма смены идентификатора пользователя sudo (или же произвести необходимые манипуляции согласно документации стандартного DEB-пакета).

Азы работы c Wireshark

Пользовательский интерфейс Wireshark построен на основе библиотеки GTK+ (GIMP Toolkit). Главное окно программы включает следующие элементы: меню, панели инструментов и фильтров просмотра, список пакетов, детальное описание выбранного пакета, отображение байтов пакета (в шестнадцатеричной форме и в виде текста) и строку состояния:

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

Итак, эргономика Wireshark отражает многоуровневый подход к обеспечению сетевых взаимодействий. Все сделано таким образом, что, выбрав сетевой пакет из списка, пользователь получает возможность просмотреть все заголовки (слои), а также значения полей каждого слоя сетевого пакета, начиная от обертки — кадра Ethernet, непосредственно IP-заголовка, заголовка транспортного уровня и данных прикладного протокола, содержащихся в пакете.

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

Проблема поиска необходимых пакетов в больших объемах перехваченного трафика решается двумя типами фильтров : сбора трафика (capture filters) и его отображения (display filters) . Фильтры сбора Wireshark основаны на языке фильтров библиотеки Pcap, т.е. синтаксис в данном случае аналогичен синтаксису утилиты tcpdump . Фильтр представляет собой серию примитивов, объединенных, если это необходимо, логическими функциями (and, or, not). Часто используемые фильтры можно сохранять в профиле для повторного использования .

На рисунке показан профиль фильтров сбора Wireshark:

Анализатор сетевых пакетов Wireshark также имеет свой простой, но многофункциональный язык фильтров отображения . Значение каждого поля в заголовке пакета может быть использовано как критерий фильтрации (например, ip.src — IP-адрес источника в сетевом пакете, frame.len — длина Ethernet-фрейма и т.д.). С помощью операций сравнения значения полей можно сопоставлять заданным величинам (например, frame.len а несколько выражений объединять логическими операторами (например: ip.src==10.0.0.5 and tcp.flags.fin). Хорошим помощником в процессе конструирования выражений является окно настройки правил отображения (Filter Expression) :

Средства анализа сетевых пакетов

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

Одной из полезных функций Wireshark является пункт «Follow TCP Stream» (буквально, «Следовать за TCP-потоком») подменю анализа «Analyze», позволяющий извлечь данные прикладного протокола из TCP-сегментов потока, которому принадлежит выбранный пакет:

Еще один интересный пункт подменю анализа - «Expert Info Composite» , вызывающий окно встроенной экспертной системы Wireshark, которая попытается обнаружить ошибки и замечания в пакетах, автоматически выделить из дампа отдельные соединения и охарактеризовать их. Данный модуль находится в процессе разработки и совершенствуется от версии к версии программы.

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

Функция «Endpoint» дает многоуровневую статистику по входящему/исходящему трафику каждого узла. Пункт «Conversations» (буквально, «разговоры») позволяет определить объемы трафика различных протоколов (канального, сетевого и транспортного уровня модели взаимодействия открытых систем), переданного между взаимодействовавшими друг с другом узлами. Функция «Packet Lengths» отображает распределение пакетов по их длине.

Пункт «Flow Graph...» представляет потоки пакетов в графическом виде. При этом, при выборе элемента на графике становится активным соответствующий пакет в списке в главном окне программы:

Отдельное подменю в последних версиях Wireshark отведено IP-телефонии. В подменю «Tools» есть пункт «Firewall ACL Rules» , для выбранного пакета попытается создать правило межсетевого экрана (в версии 1.6.х поддерживаются форматы Cisco IOS, IP Filter, IPFirewall, Netfilter, Packet Filter и Windows Firewall).

Программа также имеет встроенный интерпретатор легковесного языка программирования Lua . Используя Lua, Вы можете создавать собственные «декодеры» протоколов и обработчики событий в Wireshark.

Вместо заключения

Анализатор сетевых пакетов Wireshark является примером Opensource-продукта, успешного как в рамках платформы Unix/Linux, так популярного среди пользователей Windows и Mac OS X. Конечно, кроме Wireshark, существуют тяжеловесные комплексные интеллектуальные решения в области исследования сетевого трафика, функционал которых гораздо шире. Но они, во-первых, стоят больших денег, во-вторых, сложны в освоении и эксплуатации; в-третьих, нужно понимать, что не все можно автоматизировать и никакая экспертная система не заменит хорошего специалиста. Так что, если перед Вами стоят задачи, требующие анализа сетевого трафика, то Wireshark — это инструмент для Вас. А поклонники командной строки могут пользоваться утилитой tshark — консольной версией Wireshark .

Больше всего вопросов при работе с программой WireShark у пользователей вызывают фильтры для захвата трафика. Сегодня мы рассмотри их основные примеры, и покажем, как их правильно настраивать!

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

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

    скачать и установить на ноутбук один из лучших бесплатных анализаторов протоколов WireShark (http://www.wireshark.org/download.html);

    освоиться с его интерфейсом;

    изучить стек протоколов и их структуру;

    научиться работать с фильтрами для захвата трафика;

    научится работать с фильтрами для анализа трафика.

В рамках этой статьи мы остановимся на предпоследнем пункте - как настроить фильтры для захвата трафика в WireShark.

Примеры настройки фильтров WireShark для захвата трафика

После выбора интерфейса мы можем приступить или к захвату трафика в режиме — всё подряд, но делать это не рекомендуется, так как, например, при 50% загрузке гигабитного интерфейса для передачи 100 000 пакетов требуется всего несколько миллисекунд. Поэтому важно понимать, какую проблему мы решаем. Тогда у нас как минимум будет уже или адрес (IP или MAC) пользователя или приложение, на которое он жалуется или сервер, к которому он обращается.

Таким образом, самый простой фильтр в Wireshark - это IP адрес устройства (хоста, host) и выглядит этот фильтр следующим образом:

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

    net 192.168.0.0/24 или net 192.168.0.0 mask 255.255.255.0

При захвате трафика от подсети фильтр будет выглядеть вот так:

    src net 192.168.0.0/24 или src net 192.168.0.0 mask 255.255.255.0

А если надо увидеть для анализа только приходящий трафик в нашу подсеть, то любой из фильтров:

    dst net 192.168.0.0/24

    dst net 192.168.0.0 mask 255.255.255.0

Если пользователь жалуется, что у него не открываются странице в браузере, проблема может быть с DNS сервером (порт 53) или с протоколом HTTP (порт 80), тогда захватываем трафик с использованием фильтра «порт»:

Если мы решили захватить весь трафик для конкретного сервера без учета HTTP и FTP, то фильтр настраивается по любому из этих двух примеров:

    host 192.168.0.1 and not (port 21 or port 80)

    host 192.168.0.1 and not port 21 and not port 80

Если мы хотим видеть весь трафик на порту, кроме трафика DNS, FTP, ARP, то логика будет аналогичной:

    port not dns and not 21 and not arp

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

    (tcp > 1500 and tcp < 1550) or (tcp > 1500 and tcp < 1550)

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

    tcp portrange 1501-1549

Для захвата кадров Ethernet типа EAPOL (Протокол передачи EAP-сообщений в стандарте 802.1x называется EAPOL (EAP encapsulation over LAN)):

    ether proto 0x888e

Для справки приведу список типов Ethernet кадров специфичных протоколов:

Ethertype (Hexadecimal)

Протокол

0x0000 — 0x05DC

IEEE 802.3 length

0x0101 — 0x01FF

IP, Internet Protocol

ARP, Address Resolution Protocol.

Frame Relay ARP

Raw Frame Relay

DRARP, Dynamic RARP. RARP, Reverse Address Resolution Protocol.

Novell Netware IPX

EtherTalk (AppleTalk over Ethernet)

IBM SNA Services over Ethernet

AARP, AppleTalk Address Resolution Protocol.

EAPS, Ethernet Automatic Protection Switching.

IPX, Internet Packet Exchange.

SNMP, Simple Network Management Protocol.

IPv6, Internet Protocol version 6.

PPP, Point-to-Point Protocol.

GSMP, General Switch Management Protocol.

MPLS, Multi-Protocol Label Switching (unicast).

MPLS, Multi-Protocol Label Switching (multicast).

PPPoE, PPP Over Ethernet (Discovery Stage).

PPPoE, PPP Over Ethernet (PPP Session Stage).

LWAPP, Light Weight Access Point Protocol.

LLDP, Link Layer Discovery Protocol.

EAPOL, EAP over LAN.

Loopback (Configuration Test Protocol)

VLAN Tag Protocol Identifier

VLAN Tag Protocol Identifier

Если необходимо захватить трафик определенного IP протокола, то можно использовать фильтр:

    ip proto tcp - захват TCP трафика

    ip proto udp - захват UDP трафика

Для захвата IP трафика применяется самый короткий фильтр:

Для захвата только unicast трафика при анализе трафика исходящего и приходящего к сетевому устройству используется фильтр в таком формате:

    not broadcast and not multicast

Простые фильтры, о которых мы поговорили, можно объединять с помощью не сложных символов:

    Отрицание: ! Или not

    Объединение: && или and

    Чередование: II или or

Пример: для захвата трафика от или к устройству с адресом 10.10.10.10, но не из сети 192.168.0.0 фильтр получится объединением с отрицанием:

    host 10.10.10.10 && !net 192.168

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

Смещаемся на восемь байт в IP пакете и захватываем трафик со значением TTL =1

Захватываем все пакеты TCP с адресом порта отправителя 80. Это эквивалент фильтру src port 80.

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

Поле в пакете

Длина в байтах

Фильтр

IP Header Length

IP Packet Length

IP Address Source

IP Address Destination

IP Fragmentation

flag = 3 and Offset = 13

ip & 0x2000 = 0x2000 or ip & 0x1fff !=0x0000

TCP Destination Port

TCP Header Length

Для закрепления полученной информации построим фильтр для захвата трафика с запросом HTTP GET. Протокол HTTP использует порт 80, транспортный протокол TCP. Значения в шестнадцатеричной системе исчисления слова GET будет выглядеть 0x47455420. Пример фильтра, который получится у нас:

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

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

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

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

Основные возможности Wireshark

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

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

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

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

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

$ sudo apt install wireshark

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

$ kdesu wireshark

А для Gnome / Unity:

$ gksu wireshark

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

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

Для начала анализа выберите сетевой интерфейс, например, 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.125 (losst.ru). Наберите строку в поле фильтра и нажмите 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 для обнаружения проблем в сети. Для этого в левом нижнем углу окна есть круглая кнопка, при нажатии на нее открывается окно Expet Tools . В нем Wireshark собирает все сообщения об ошибках и неполадках в сети:

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

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

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

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

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

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

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

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

Некоторые фильтры здесь написаны в общей форме, а некоторые выполнены в качестве конкретных примеров. Помните, что вы в любом случае можете подставить свои данные, например, изменить номер порта на любой вас интересующий, а также сделать то же самое с IP адресом, MAC-адресом, значением времени и пр.

Операторы фильтров Wireshark

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

Если ищется неточное вхождение (лучше подходит для нечисловых значений) то используется contains . Например, чтобы показать TCP пакеты, содержащие строку hackware нужен следующий фильтр:

Tcp contains hackware

Для поиска точных значений используются операторы. Рассмотрим их:

Как можно видеть, имеется по два варианта написания, например, если мы хотим указать, что значение фильтра равно чему-либо, то мы можем использовать == или eq .

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

Tcp.port>=8000 && tcp.port<=8180

то значение фильтра (в данном случае tcp.port ) перезаписывается последним значением, поэтому в результате вместо ожидаемого поведения, мы получаем результат работы только последней части, в данном случае это

Tcp.port<=8180

Помните об этом баге!

При использовании с == (равно) этот баг отсутствует.

Логические операторы фильтров Wireshark

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

Оператор Описание
and/&& Логическое И, данные выводятся если они соответствуют обоим частям фильтра. Например, фильтр ip.src==192.168.1.1 and tcp покажет только пакеты, которые исходят от 192.168.1.1 и которые ассоциированы с протоколом TCP. Будут показаны только данные, совпадающие с обоими условиями.
or/|| Логическое ИЛИ, достаточно чтобы только одно условие было истинным; если оба являются истинной, то это тоже подходит. Например фильтр tcp.port==80 or tcp.port==8080 покажет TCP пакеты, которые связаны (являются источником или пунктом назначения) с портом 80 или 8080.
not/! Логическое НЕ используется, когда мы хотим исключить некоторые пакеты. То есть будут показаны все пакеты, кроме удовлетворяющие условию, следующему после НЕ. Например фильтр !dns покажет все пакеты, кроме DNS.

Примеры комбинирования:

Показать HTTP или DNS трафик:

Http or dns

Показать любой трафик, кроме ARP, ICMP и DNS:

!(arp or icmp or dns)

Фильтр интерфейсов

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

Frame.interface_name == "wlan0"

Трафик протоколов канального уровня

Для показа ARP трафика:

Показать фреймы ARP протокола, отправленные с устройства, имеющего MAC-адрес 00:c0:ca:96:cf:cb:

Arp.src.hw_mac == 00:c0:ca:96:cf:cb

Показать фреймы ARP протокола, отправленные с устройства, имеющего IP адрес 192.168.50.90:

Arp.src.proto_ipv4 == 192.168.50.90

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

Arp.dst.hw_mac == 00:00:00:00:00:00

Показать фреймы ARP протокола, отправленные на устройство, имеющего IP адрес 192.168.50.1:

Arp.dst.proto_ipv4 == 192.168.50.1

Показать Ethernet трафик:

Показать фреймы (вообще все фреймы, а не только ARP, как это было в предыдущих примерах), отправленные с устройства, имеющего MAC-адрес 00:c0:ca:96:cf:cb:

Eth.src == 00:c0:ca:96:cf:cb

Показать фреймы, отправленные на устройство, имеющего MAC-адрес 78:cd:8e:a6:73:be:

Eth.dst == 78:cd:8e:a6:73:be

Трафик протоколов межсетевого уровня

Фильтрация IPv4 протокола

Показать IP трафик (сюда относятся TCP, UDP, а также протоколы уровня приложений DNS, HTTP — то есть практически всё, кроме протоколов канального уровня, которые не используют IP адреса для передачи данных (в локальных сетях Ethernet в качестве адресов доставки они используют MAC-адреса)):

Если быть более точным, имеется ввиду трафик протокола IPv4, который обычно называют просто IP (Internet Protocol).

Показать трафик, связанный с определённым IP адресом (впишите его вместо x.x.x.x). Будут показаны пакеты, в которых этот IP адрес является источником данных ИЛИ получателем:

Ip.addr == x.x.x.x

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

Ip.addr == x.x.x.x && ip.addr == y.y.y.y

Показать трафик, источником которого является хост с IP адресом 138.201.81.199:

Ip.src == 138.201.81.199

Показать трафик, адресатом которого является хост с IP адресом 138.201.81.199:

Ip.dst == 138.201.81.199

Обратите внимание, IP протокол оперирует IP адресами, но не оперирует портами. Порты являются частью протоколов TCP и UDP. IP протокол отвечает только за маршрутизацию трафика между хостами.

Фильтрация подсетей и диапазонов IP в Wireshark

Вы можете вместо одного IP адреса указать подсеть:

Ip.addr == 192.168.1.0/24

Фильтрация трафика, отправленного с определённого диапазона IP. Если нужно отфильтровать трафик, источником которого является подсеть, то используйте фильтр вида:

Ip.src == 192.168.1.0/24

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

Ip.dst == 192.168.1.0/24

Фильтрация IPv6 протокола

Показать трафик IPv6 (Internet Protocol шестой версии):

Фильтрация по IPv6 адресу. Для фильтрации по IPv6 адресу используйте фильтр:

Ipv6.addr == 2604:a880:800:c1::2ae:d001

Фильтрация подсетей и диапазонов IPv6 в Wireshark

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

Ipv6.addr == 2604:a880:800:c1::2ae:d000/64

Если нужно отфильтровать трафик, источником которого является определённый IPv6 адрес:

Ipv6.src == 2604:a880:800:c1::2ae:d001

Если нужно отфильтровать трафик, отправленный на определённый IPv6 адрес:

Ipv6.dst == 2604:a880:800:c1::2ae:d001

Фильтрация трафика, отправленного с определённого диапазона IPv6. Если нужно отфильтровать трафик, источником которого является подсеть, то используйте фильтр вида:

Ipv6.src == 2604:a880:800:c1::2ae:d000/64

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

Ipv6.dst == 2604:a880:800:c1::2ae:d000/64

Фильтрация ICMPv6 (Internet Control Message Protocol — протокол межсетевых управляющих сообщений шестой версии) в Wireshark делается фильтром:

Для того, чтобы увидеть пакеты, которые выполняют роль ARP для IPv6, используйте фильтр:

Icmpv6.type == 133 or icmpv6.type == 134 or icmpv6.type == 135 or icmpv6.type == 136 or icmpv6.type == 137

Другие фильтры с IP адресом аналогичны для IPv6 и IPv4.

Трафик протоколов транспортного уровня

Чтобы увидеть только трафик TCP:

Показать трафик, источником или портом назначения которого является определённый порт, например 8080:

Tcp.port==8080

Показать трафик, источником которого является порт 80:

Tcp.srcport == 80

Показать трафик, который отправляется службе, прослушивающей порт 80:

Tcp.dstport == 80

Показать TCP пакеты с включённым флагом SYN:

Tcp.flags.syn==1

Показать TCP пакеты с включённым флагом SYN и отключённым флагом ACK:

Tcp.flags.syn==1 && tcp.flags.ack==0

Аналогично и для других флагов:

tcp.flags.syn==1 tcp.flags.ack==1 tcp.flags.reset==1 tcp.flags.fin==1 tcp.flags.cwr tcp.flags.ecn tcp.flags.urg==1 tcp.flags.push==1

Также можно использовать синтаксис вида tcp.flags == 0x0XX , например:

  • FIN это tcp.flags == 0x001
  • SYN это tcp.flags == 0x002
  • RST это tcp.flags == 0x004
  • ACK это tcp.flags == 0x010
  • Установленные одновременно ACK и FIN это tcp.flags == 0x011
  • Установленные одновременно ACK и SYN это tcp.flags == 0x012
  • Установленные одновременно ACK и RST это tcp.flags == 0x014

Чтобы показать пакеты, содержащие какую либо строку, например, строку hackware:

Tcp contains hackware

Следовать потоку TCP с номером X:

Tcp.stream eq X

Фильтровать по номеру потока:

Tcp.seq == x

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

Этот фильтр выведен проблемные пакеты (потерянные сегменты, повторную отправку и другие. Этот фильтр проходят пакеты TCP Keep-Alive, но они не являются показателем проблем.

Tcp.analysis.flags

Фильтры для оценки качества сетевого подключения.

Следующие характеристики относятся к TCP фреймам. Причём они не основываются на заголовках фрейма — рассматриваемые характеристики (пропуск данных, дубли) присвоены программой Wireshark исходя из анализа.

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

Tcp.analysis.duplicate_ack_num == 1

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

Tcp.analysis.ack_lost_segment

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

Для показа фреймов, которые являются ретрансмиссией (отправляются повторно):

Tcp.analysis.retransmission

Вывод фреймов, которые получены не в правильном порядке:

Tcp.analysis.out_of_order

Чтобы увидеть только трафик UDP:

Для UDP не используются флаги. Для этого протокола можно только указать порт.

Показать трафик, источником которого является порт 53:

Udp.srcport == 53

Показать трафик, который отправляется службе, прослушивающей порт 53:

Udp.dstport == 53

UDP пакет, в котором встречается определённая строка, например, строка hackware:

Udp contains hackware

Чтобы увидеть только трафик ICMP:

Чтобы увидеть только трафик ICMP v6 (шестой версии)

Показать все ответы на пинг:

Icmp.type==0

Показать все пинг запросы:

Icmp.type==8

Показать все ошибки недоступности/запрета хостов и портов

Icmp.type==3

Показать все попытки перенаправить маршрутизацию с использованием ICMP:

Icmp.type==8

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

Icmp.type==3 && icmp.code==3

Трафик протоколов прикладного уровня

Для протоколов приклодного уровня HTTP, DNS, SSH, FTP, SMTP, RDP, SNMP, RTSP, GQUIC, CDP, LLMNR, SSDP имеются фильтры, которые называются как и сами протоколы, но пишутся маленькими буквами.

Например, чтобы увидеть HTTP трафик:

Чтобы увидеть трафик нового протокола HTTP/2:

Помните, что при принятии решения, к какому протоколу относятся передаваемые данные, программа исходит из номера используемого порта. Если используется нестандартный порт, то программа не сможет найти нужные данные. Например, если было выполнено подключение к SSH по порту 1234, то фильтр ssh не найдёт SSH трафик.

Фильтр, который показывает только данные, переданные методом POST:

Http.request.method == "POST"

Фильтр, который показывает только данные, переданные методом GET:

Http.request.method == "GET"

Поиск запросов к определённому сайту (хосту):

Http.host == ""

Поиск запросов к определённому сайту по части имени:

Http.host contains "здесь.частичное.имя"

Фильтр для вывода HTTP запросов, в которых передавались кукиз:

Http.cookie

Запросы, в которых сервер установил кукиз в браузер пользователя.

Http.set_cookie

Для поиска любых переданных изображений:

Http.content_type contains "image"

Для поиска определённых видов изображений:

Http.content_type contains "gif" http.content_type contains "jpeg" http.content_type contains "png"

Для поиска файлов определённого типа:

Http.content_type contains "text" http.content_type contains "xml" http.content_type contains "html" http.content_type contains "json" http.content_type contains "javascript" http.content_type contains "x-www-form-urlencode" http.content_type contains "compressed" http.content_type contains "application"

Поиск в Wireshark запросов на получения файлов определённого типа. Например, для поиска переданных ZIP архивов:

Http.request.uri contains "zip"

Вместо http.request.uri для большей точности можно использовать фильтры http.request.uri.path или http.request.uri.query , например, для поиска запросов на скачивание файлов JPG (ссылки на картинки):

Http.request.uri.path contains "jpg"

Также вы можете отфильтровать запросы, содержащие определённое значение HTTP заголовка REFERER (реферер). Например, для поиска запросов, в которых реферером является ru-board.com:

Http.referer contains "ru-board.com"

Http.authorization

Поиск файлов в HTTP потоке:

Http.file_data

Чтобы увидеть, какие HTTP данные получены с задержкой, используется следующая конструкция:

Http.time>1

Она покажет трафик, полученный позднее чем через 1 секунду.

Для исследования проблем, можно анализировать статус HTTP кодов ответа. Например, следующий фильтр покажет трафик, при котором получена ошибка 404 Not Found (страница не найдена):

Http.response.code==404

Следующий фильтр очень интересный. Во-первых, он показывает какие сложные конструкции можно строить из отдельных фильтров. Во-вторых, он позволяет исследовать HTTP запросы и в целом веб активность, исключая лишние данные. С помощью этого фильтра вы можете просматривать веб-активность высокого уровня. Правила внутри скобок исключают изображения, файлы Javascript и таблицы стилей — всё, что страница запрашивает внутри себя. Если исследуемые страницы содержат другие встроенные объекты, то исключите их похожим образом:

Http.request && !(http.request.uri contains ".ico" or http.request.uri contains ".css" or http.request.uri contains ".js" or http.request.uri contains ".gif" or http.request.uri contains ".jpg")

Чтобы увидеть все DNS запросы и ответы:

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

Dns.time>1

Будут показаны ответы, пришедшие более чем через секунду после отправки запроса.

Этот фильтр показывает, какие dns запросы не могут быть правильно разрешены:

Dns.flags.rcode != 0

Показать только DNS запросы:

Dns.flags.response == 0

Показать только DNS ответы:

Dns.flags.response == 1

Показать запросы и ответы на них, в котором ищется IP для google.com:

Dns.qry.name == "google.com"

Показать DNS запросы и ответы касаемые записи A:

Dns.qry.type == 1

Показать DNS запросы и ответы касаемые записи AAAA:

Dns.qry.type == 28

Показать ответы, в которых для записи A в качестве IP отправлен 216.58.196.3:

Dns.a == 216.58.196.3

Показать ответы, в которых для записи AAAA в качестве IP отправлен 2a01:4f8:172:1d86::1:

Dns.aaaa == 2a01:4f8:172:1d86::1

Показать записи с CNAME apollo.archlinux.org:

Dns.cname == "apollo.archlinux.org"

Показать ответы длиной более 30:

Dns.resp.len > 30

Показать запросы с длиной более 25:

Dns.qry.name.len >25

Показать ответы DNS серверов на которых доступна рекурсия:

Dns.flags.recavail == 1

Показать ответы DNS серверов на которых не доступна рекурсия:

Dns.flags.recavail == 0

Желательна ли рекурсия (если запрошенный DNS сервер не имеет информацию об имени хоста, должен ли он опрашивать другие DNS сервера в поисках этой информации):

Dns.flags.recdesired == 1

Если в запросе стоит 1 , значит рекурсия нужна, если 0 — значит она не желательна.

Принимать ли неаутентифицированные данные (0 означает не принимать, 1 означает принимать):

Dns.flags.checkdisable == 0

Чтобы увидеть, как назначаются IP адреса по протоколу DHCP:

Udp.dstport==67

Bootp.option.dhcp

Чтобы показать DHCP запросы:

Bootp.option.dhcp == 3

Чтобы показать DHCP Discover:

Bootp.option.dhcp == 1

SMB фильтр. Этот фильтр в колонке Info показывает всё дерево (шару) соединений, открытых директорий и открытых файлов в трассировке.

Smb2.cmd==3 or smb2.cmd==5

Фильтры для Wi-Fi фреймов

Показать элементы четырёхэтапных рукопожатий (то есть фреймы протокола EAPOL):

Показать фреймы Beacon (маяки):

Wlan.fc.type_subtype == 0x08

Показать фреймы Probe Response:

Wlan.fc.type_subtype == 0x05

Показать всё сразу: EAPOL, маяки, Probe Response:

Wlan.fc.type_subtype == 0x08 || wlan.fc.type_subtype == 0x05 || eapol

Показать беспроводные фреймы для определённого устройства с MAC-адресом BSSID:

Wlan.addr==BSSID

Показать EAPOL, маяки, Probe Response для определённого устройства с MAC-адресом 28:28:5D:6C:16:24:

(wlan.fc.type_subtype == 0x08 || wlan.fc.type_subtype == 0x05 || eapol) && wlan.addr==28:28:5D:6C:16:24

Показ всех PMKID:

Eapol && wlan.rsn.ie.pmkid

Показать PMKID, маяки, Probe Response:

(wlan.fc.type_subtype == 0x08 || wlan.fc.type_subtype == 0x05 || (eapol && wlan.rsn.ie.pmkid))

Показать PMKID, маяки, Probe Response для точки доступа с MAC-адресом 40:3D:EC:C2:72:B8:

(wlan.fc.type_subtype == 0x08 || wlan.fc.type_subtype == 0x05 || (eapol && wlan.rsn.ie.pmkid)) && wlan.addr==40:3D:EC:C2:72:B8

Показать только первое сообщение рукопожатия:

Wlan_rsna_eapol.keydes.msgnr == 1

Показать только второе сообщение рукопожатия (можно использовать для сообщения рукопожатия с любым номером):

Wlan_rsna_eapol.keydes.msgnr == 2

Показать фреймы для точек доступа со скоростью (Data Rate) 1 Мb/s:

Wlan_radio.data_rate == 1

Показать фреймы для точек доступа со скоростью более 10 Мb/s:

Wlan_radio.data_rate > 10

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

Radiotap.channel.freq == 2412

Показывать точки доступа с определённым уровнем сигнала:

Wlan_radio.signal_dbm > -50

Фильтры, связанные с наличием у устройства антены:

Radiotap.present.antenna == 1

Radiotap.antenna == 1

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

 

 

Это интересно: