Глава 4. Фильтр захвата

Материал из wireshark.wiki

4.1 Введение

Фильтр захвата Wireshark – подсистема Wireshark, которая используется для исключения части пакетов из процесса захвата.

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

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

Фильтр захвата Wireshark основан на библиотеке libpcap, которая является стандартной системой захвата сетевого трафика в Linux.

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

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

Фильтр захвата и экранный фильтр – это не одно и то же

Важно не путать фильтр захвата (capture filter) и экранный фильтр (display filter). Это разные подсистемы, имеющие разное назначение. Также эти подсистемы используют разный синтаксис в своих выражениях.


Проверка знаний

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


4.2 Расположение фильтра захвата

Блок «Захват» первоначального экрана «Wireshark» Блок «Захват» первоначального экрана Wireshark


4.3 Виды условий

В фильтре захвата Wireshark имеется пять видов условий.

Тип – условия, с помощью которых задаются идентификатор узла (IP-адрес или доменное имя), IP-адрес сети, номер порта (UDP, TCP или SCTP) или диапазон портов (UDP, TCP или SCTP).

Направление – условия, с помощью которых задается направление передачи данных.

Протокол – условия, с помощью которых задается протокол.

Размер пакета – условия, с помощью которых задается размер пакета.

Беспроводная сеть 802.11 – условия с помощью которых задается значение одного из четырех адресных полей из заголовка беспроводного кадра формата 802.11.

Прочие – условия, которые не подпадают под описание всех остальных условий.


Онлайн-курс по Wireshark

На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.


4.4 Одновременное использование разных условий и параметров

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

Для обозначения логической операции «И» в Wireshark необходимо указать «and» или «&&», для обозначения «ИЛИ» – «or» или «||», для обозначения «НЕ» – «not» или «!».

Примеры:

  • host 1.1.1.1 or 8.8.8.8;
  • host 192.168.15.7 && 77.88.8.8;
  • tcp dst port 22 || 23;
  • ether host not 3C-7C-3F-F5-7F-6E;
  • not ip6.


Неочевидный нюанс

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

Например, выражение «ip host 1.1.1.1» равносильно выражению «(ip and host 1.1.1.1)». И как результат, «!ip host 1.1.1.1» равносильно (по закону де Моргана) «!ip || !host 1.1.1.1» и неравносильно «!ip && host 1.1.1.1».

Последнее утверждение легко проверить. Под действие выражений «!ip host 1.1.1.1», «!(ip host 1.1.1.1)» и «!ip || !host 1.1.1.1» будет подпадать один и тот же трафик, в том числе различные IP-пакеты (за счет условия «!host 1.1.1.1»), а под действие выражения «!ip && host 1.1.1.1» IP-пакеты подпадать не будут (за счет условия «!ip»).


Данное правило применимо для условий:

* ether, ip и ip6, если они идут до условия host;

* ether, ip и ip6, если они идут до условия proto;

* ip и ip6, если они идут до условия protochain;

* tcp, udp и sctp, если они идут до условия port.


Примеры: ip host yandex.ru, ip proto \17, tcp port 80.


Инверсия

Следует проявлять осторожность, используя инверсию. Например, результат выражения «not ip host yandex.ru» будет отличаться от результата выражения «ip host not yandex.ru» и от результата выражения «not ip host not yandex.ru».


Важно знать булеву алгебру

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


4.5 Условия вида «Тип»

Тип – условия, с помощью которых задаются идентификатор узла (IP-адрес или доменное имя), IP-адрес сети, номер порта (UDP, TCP или SCTP) или диапазон портов (UDP, TCP или SCTP).

Возможные условия: host, net, port и portrange.

Параметры обязательны для всех вариантов условий вида «Тип».

4.5.1 Условие «host»

host (узел) – условие, которое используется для обозначения идентификатора узла.

Наличие параметра: обязательно.

Вид параметра: адрес или имя узла. Самыми распространенными видами адресов являются MAC-адрес, IPv4-адрес, IPv6-адрес. Требуемый вид адреса зависит от условия, которое указано до условия host (ether, ip, ip6 и др.). Если дополнительное условие не задано, то можно указать либо IPv4-, либо IPv6-адрес, либо доменное имя. Кроме того, могут быть использованы и другие, менее распространенные виды адресов (например, DECNet-адрес).

Примеры:

  • host 1.1.1.1;
  • ip host 77.88.8.8;
  • ip host yandex.ru;
  • ip6 host fe80::c2e:f59e:63f4:c3f7;
  • ether host 3C-7C-3F-F5-7F-6E.


Неочевидные нюансы

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

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

4.5.2 Условие «net»

net (сеть) – условие, которое используется для обозначения адреса IPv4- или IPv6-сети.

Наличие параметра: обязательно.

Вид параметра: адрес IPv4- или IPv6-сети. Адрес IPv4-сети может быть указан в разных форматах.

Форматы указания адреса IPv4-сетей:

  • Указание адреса сети и префикса маски через «/». Пример: «net 10.12.0.0/16».
  • Использование дополнительного параметра mask после которого в качестве условия должна быть указана маска сети в десятичном формате с разделителями в виде точек. Пример: «net 10.12.0.0 mask 255.255.0.0».
  • Указание только тех октетов, которые относятся к идентификатору узла. Такой вариант возможен только при использовании масок /8, /16, /24 и /32. При указании одного октета будет автоматически подставлена маска /8, при указании двух октетов – /16, при указании трех – /24, при указании четырех – /32 (равносильно указанию «только этот узел»). Примеры: «10», «10.11», «10.11.12», «10.11.12.13».
  • Указание имени сети (в том случае, если операционная система поддерживает возможность задать его в своих настройках).

IPv4-адрес, который указывается в качестве параметра для условия «net», обязательно должен быть адресом сети и не может быть адресом узла из этой сети.

Для IPv6-сетей возможно только указание полного адреса к которому будет применена маска ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff, что равносильно указанию «только этот узел».

4.5.3 Условие «port»

port (порт) – условие, которое используется для обозначения номера порта протокола UDP, TCP или SCTP.

Наличие параметра: обязательно.

Вид параметра: число в диапазоне от 0 до 65 535.

В некоторых случаях вместо номера порта можно указать имя службы, которая связана с этим портом. Некоторые из имен служб: ftp (21/TCP), ftp-data (20/TCP), ssh (22/TCP), telnet (23/TCP), smtp (25/TCP), domain (53/UDP и 53/TCP), tftp (69/UDP), http (80/TCP), snmp (161/UDP), snmptrap (162/UDP), https (443/UDP и 443/TCP) и др.

Расположение списка с именами служб

Полный список имен служб и ассоциированных с ними портов и протоколов можно посмотреть в файле «services», который в Windows расположен в папке «%SystemRoot%\System32\drivers\etc\», а в Linux – в папке «/etc/services».

Примеры:

  • port 22 – пакеты, в которых используется порт отправителя или порт получателя 22.
  • tcp port 80 – TCP-пакеты, в которых используется порт отправителя или порт получателя 80.
  • dst port https – TCP-пакеты, в которых используется порт получателя 443.

4.5.4 Условие «portrange»

portrange (диапазон портов) – условие, которое используется для обозначения диапазона номеров портов протоколов UDP, TCP или SCTP.

Наличие параметра: обязательно.

Вид параметра: два числа в диапазоне от 0 до 65 535, разделенных знаком «-». Первое число обозначает нижнюю границу диапазона, а второе – верхнюю.

Примеры:

  • portrange 100-200 – любые UDP-, TCP- или SCTP-пакеты, в которых используется порт отправителя или порт получателя в диапазоне значений от 100 до 200 включительно.
  • tcp portrange 300-450 – любые TCP-пакеты, в которых используется порт отправителя или порт получателя в диапазоне значений от 300 до 450 включительно.


4.6 Условия вида «Направление»

Направление – условия, с помощью которых задается направление передачи данных.

Возможные условия:

  • src (source, отправитель) – условие для обозначения отправителя пакета.
  • dst (destination, получатель) – условие для обозначения получателя пакета.

Оба условия используются только в связке с каким-либо другим условием.

Наличие параметра: невозможно, но есть и исключение – указание IP-адреса сразу после dst.

Если направление не указать явным образом, то будет выполняться захват пакетов для любого из двух возможных направлений (src or dst).

Примеры:

  • port 22 – любые UDP-, TCP- или SCTP-пакеты, в которых используется порт отправителя или порт получателя 22.
  • tcp src port 80 – TCP-пакеты, в которых используется порт отправителя 80.
  • dst port https – TCP-пакеты, в которых используется порт получателя 443.
  • dst host 192.168.14.1 – IPv4-пакеты, в которых используется IP-адрес получателя 192.168.14.1.
  • dst 192.168.14.1 – IPv4-пакеты, в которых используется IP-адрес получателя 192.168.14.1.


Онлайн-курс по Wireshark

На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.


4.7 Условия вида «Протокол»

Протокол – условия, с помощью которых задается протокол.

4.7.1 Фильтрация по протоколу канального уровня

Возможные условия:

  • ether – ethernet-пакеты;
  • decnet – DECnet-пакеты;
  • fddi – FDDI-пакеты;
  • tr – пакеты Token Ring;
  • wlan – пакеты IEEE 802.11 (Wi-Fi).

Наличие параметра: невозможно.

Все варианты данных условий работают, только если после них идут условия host, proto, protochain. Исключение – условие decnet, после которого не могут идти условия proto и protochain.

Примеры:

  • ether host 3C-7C-3F-F5-7F-6E – ethernet-пакеты, в которых используется MAC-адрес отправителя или MAC-адрес получателя 3C-7C-3F-F5-7F-6E.
  • ether proto \ip – IPv4-пакеты, инкапсулированные в ethernet-пакет.
  • ether broadcast – широковещательные ethernet-пакет.


Неочевидный нюанс (бесполезный)

В фильтре захвата вместо условия ether, можно указать условие fddi, tr или wlan. Это допустимо, так как данные протоколы используют одинаковый формат адреса канального уровня.

4.7.2 Фильтрация по протоколу сетевого уровня

Возможные условия: ip, ip6, icmp, icmp6, igmp, pim, igrp, vrrp. Обозначение каждого из условий представляет собой сокращенное наименование одноименного протокола, и поэтому дополнительные пояснения к условиям не требуются.

Наличие параметра: невозможно.

Примеры:

  • ip && tcp – пакеты, у которых есть и IPv4- и TCP-заголовок.
  • ip && broadcast && src host 192.168.15.1 – IPv4-широковещательные пакеты, у которых указан IP-адрес отправителя 192.168.15.1.
  • ip6 multicast – IPv6-многоадресные пакеты.

4.7.3 Фильтрация по протоколу транспортного уровня

Возможные условия: tcp, udp, sctp. Обозначение каждого из условий представляет собой сокращенное наименование одноименного протокола, и поэтому дополнительные пояснения к условиям не требуются.

Наличие параметра: невозможно.

Примеры:

  • ip6 && udp – пакеты, у которых есть и IPv6-, и UDP-заголовок.
  • tcp port 22 – TCP-пакеты, у которых в качестве порта отправителя или получателя указан порт 22 (SSH).

4.7.4 Фильтрация по прочим видам протоколов

Возможные условия: arp, rarp, stp, ah, esp. Обозначение каждого из условий представляет собой сокращенное наименование одноименного протокола, и поэтому дополнительные пояснения к условиям не требуются.

Наличие параметра: невозможно.

Примеры:

  • arp – ARP-пакеты.
  • stp – BPDU-пакеты протоколов STP/RSTP/MSTP.

4.7.5 Условия «proto» и «protochain»

Общий принцип действия

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

proto – условие для фильтрации по номеру протокола из ethernet-, IPv4- или IPv6-заголовка.

protochain – условие для фильтрации по номеру протокола из IPv4- или IPv6-заголовка.

Если не вдаваться в подробности, разница между условиями proto и protochain заключается только в том, что с помощью условия proto можно выполнять фильтрацию на основе значения протокола из поля ethernet-заголовка (поле EtherType), а с помощью protochain – нельзя. Но на самом деле разница между ними более существенная. Более детально она будет разобрана в разделе «Фильтрация с учетом инкапсуляции».

Параметры:

  • значение поля «Версия» (Version) из IPv4-заголовка,
  • значение поля «Следующий заголовок» (Next Header) из IPv6-заголовка,
  • значение поля EtherType из ethernet-заголовка (только для условия proto).

Значение поля EtherType можно указать только при использовании условия proto. Кроме того, до условия proto обязательно необходимо указать условие ether.

Примеры:

  • proto 17 – UDP-пакеты.
  • proto 6 – TCP-пакеты.
  • ether proto 0x0800 – IPv4-пакеты, инкапсулированные в ethernet-пакет.


Распространенная ошибка

В качестве параметра для условия proto иногда указывают номер протокола, который не может быть инкапсулирован в протокол, указанный до условия proto. Пример: в выражении ip proto 0x0806 указано значение 0x0806, которое используется для наименования протокола ARP в поле EtherType в ethernet-, а не в IP-заголовке, как это указано в выражении.


Указание протокола по имени

Вместо protocol можно указать не только номер протокола, но и его имя. Для того, чтобы задать протокол в виде имени, его надо записать после обратного слеша («\»).

Примеры:

  • proto \udp – UDP-пакеты.
  • proto \tcp – TCP-пакеты.

Фильтрация с учетом инкапсуляции

Разница между условиями proto и protochain появляется, когда надо выполнить фильтрацию с учетом порядка следования различных заголовков. В таком случае должна использоваться следующая форма записи: [ether | ip | ip6] proto protocol.

proto – условие для фильтрации по протоколу при обязательном условии непосредственной инкапсуляции одного протокола в другой.

ptotochain – условие для фильтрации по протоколу при условии инкапсуляции одного протокола в другой протокол без обязательного требования в виде непосредственной инкапсуляции.

Стандартный пакет
Ethernet-
заголовок
IP-заголовок
TCP/UDP-
заголовок
Данные FCS
Пакет с GRE-заголовком
Ethernet-
заголовок
GRE
IP-заголовок
GRE-заголовок
IP-заголовок
TCP/UDP-
заголовок
Данные FCS

Разницу между двумя видами условий можно понять на примере двух приведенных выше заголовков и выражений ip proto 6 и ip protochain 6.

При использовании выражения ip proto 6 стандартный пакет попадет под действие фильтра, а пакет с GRE-заголовком не попадет. Это связано с тем, что Wireshark воспринимает как IP-заголовок тот который идет сразу после ethernet-заголовка. И получается так, что у стандартного пакета в IP-пакет инкапсулирован TCP-пакет, а у пакета с GRE-заголовком нет..

При использовании же выражения ip protochain 6 оба пакета попадут под действие фильтра. Это связано с тем, что у обоих пакетов после IP-заголовка есть TCP-заголовок и при этом не учитывается факт наличия или отсутствия других заголовков между IP- и TCP-заголовками.


4.8 Условия вида «Размер пакета»

Размер пакета – условия, с помощью которых задается размер пакета.

Возможные условия: len =, len <, len >, len <=, len >=, less и greater.

Параметры обязательны для всех вариантов условий вида «Размер пакета».

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

Зачастую можно добавлять или убирать пробел. Например, выражение len <= 100 можно записать так len<=100, но нельзя записать так len< =100.


Реальный размер пакета

Под термином «размер пакета» подразумевается размер кадра (второй уровень модели OSI), включая L2-заголовок, но без поля «Контрольная сумма» (FCS). Это связано с тем, что Wireshark почти никогда не учитывает поле «Контрольная сумма» (за редкими исключениями).

4.8.1 Условие «len =»

len = – условие, применяемое для фильтрации пакетов, размер которых равен заданному значению.

Наличие параметра: обязательно.

Вид параметра: число, обозначающее количество байтов.

Пример: len = 100.

4.8.2 Условие «len !=»

len != – условие, применяемое для фильтрации пакетов, размер которых не равен заданному значению.

Наличие параметра: обязательно.

Вид параметра: число, обозначающее количество байтов.

Пример: len != 100.

4.8.3 Условие «len <»

len < – условие, применяемое для фильтрации пакетов, размер которых меньше заданного значения.

Наличие параметра: обязательно.

Вид параметра: число, обозначающее количество байтов.

Пример: len < 100.

4.8.4 Условие «len >»

len > – условие, применяемое для фильтрации пакетов, размер которых больше заданного значения.

Наличие параметра: обязательно.

Вид параметра: число, обозначающее количество байтов.

Пример: len > 100.

4.8.5 Условия «len <=» и «less»

len <= – условие, применяемое для фильтрации пакетов, размер которых меньше заданного значения или равен ему.

less – то же, что и len <=.

Наличие параметра: обязательно.

Вид параметра: число, обозначающее количество байтов.

Примеры:

  • len <= 100;
  • less 100.

4.8.6 Условия «len >=» и «greater»

len >= – условие, применяемое для фильтрации пакетов, размер которых больше заданного значения или равен ему.

greater – то же, что и len >=.

Наличие параметра: обязательно.

Вид параметра: число, обозначающее количество байтов.

Примеры:

  • len >= 500;
  • greater 500.


4.9 Условия вида «Беспроводная сеть 802.11»

Надо знать

В беспроводных кадрах 802.11 используется четыре адресных поля, а не два, как в ethernet-кадрах 802.3.

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

Возможные условия: addr1, addr2, addr3, addr4, ra и ta.

Указание параметра для всех вариантов условий вида «Беспроводная сеть 802.11» обязательно.

addr1 (address 1) – условие для фильтрации по значению адресного поля «Address 1» (RA, Receiver Address), используемого для обозначения MAC-адреса получателя беспроводного кадра.

addr2 (address 2) – условие фильтрации по значению адресного поля «Address 2» (TA, Transmitter Address), используемого для обозначения MAC-адреса отправителя беспроводного кадра.

addr3 (address 3) – условие для фильтрации по значению адресного поля «Address 3» (BSSID, Basic Service Set Identifier), используемого для обозначения MAC-адреса идентификатора беспроводной сети.

addr4 (address 4) – условие для фильтрации по значению адресного поля «Address 4» (SA, Source Address), используемого для обозначения MAC-адреса исходного отправителя беспроводного кадра, который может отличаться от отправителя кадра в mesh-сетях.

ra (receiver address) – то же, что и addr1.

ta (transmitter address) – то же, что и addr2.

Примеры:

  • addr1 3C-9C-0F-82-7F-B2 – пакеты формата 802.11, у которых в качестве MAC-адреса получателя указан адрес 3C-9C-0F-82-7F-B2.
  • wlan addr2 3C-9C-0F-82-7F-B2 – пакеты формата 802.11, у которых в качестве MAC-адреса отправителя указан адрес 3C-9C-0F-82-7F-B2.


4.10 Условия вида «Прочие»

Прочие – условия, которые не подпадают под описание всех остальных условий.

Возможные условия: broadcast, gateway, greater, len <=, len >=, less, mpls, multicast и vlan.

Указание параметра для каких-то вариантов условий вида «Прочие» обязательно, а для каких-то невозможно.

4.10.1 Условие «broadcast»

broadcast – условие, которое используется для фильтрации широковещательных пакетов.

Наличие параметра: невозможно.

Пример: ip broadcast.

4.10.2 Условие «multicast»

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

Наличие параметра: невозможно.

Пример: ip6 multicast.

4.10.3 Условие «vlan»

vlan – условие, применяемое для фильтрации VLAN-пакетов.

Наличие параметра: возможно.

Вид параметра: число, обозначающее VLAN ID.

Примеры:

  • vlan – пакеты у которых есть VLAN-заголовок с любым значением VLAN ID;
  • vlan 100 – пакеты у которых есть VLAN-заголовок со значением VLAN ID 100.

4.10.4 Условие «gateway»

gateway (шлюз) – условие, применяемое для фильтрации пакетов, которые были отправлены до узла в другой сети через заданный шлюз либо были получены от узла из другой сети через заданный шлюз.

Наличие параметра: обязательно.

Вид параметра: имя шлюза.

В качестве параметра для условия gateway должно быть указано непосредственно имя узла, а не IP-адрес. Кроме того, IP-адрес отправителя или получателя пакета не должен принадлежать тому же узлу, которому принадлежит MAC-адрес отправителя или получателя пакета соответственно. Условие применимо только для сопоставления имени с IPv4-адресами и не применимо для сопоставления с IPv6-адресами.

Пример: gateway gw.

4.10.5 Условие «mpls»

mpls – условие, применяемое для фильтрации MPLS-пакетов.

Наличие параметра: возможно.

Вид параметра: число, обозначающее MPLS-метку.

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

Примеры:

  • mpls – любые mpls-пакеты.
  • mpls 100 – пакеты с mpls-меткой со значением 100. Если метка одна, то фильтрация выполняется по этой единственной метке, а если меток две или более, то по внешней метке.
  • mpls 100 && mpls 200 – mpls-пакеты, у которых внешняя метка имеет значение 100, а внутренняя – 200.
  • mpls && mpls 500 – mpls-пакеты, у которых внешняя метка может иметь любое значение, а внутренняя имеет значение 500.


Онлайн-курс по Wireshark

На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.


4.11 Нюансы записи выражений

В Wireshark используются различные параметры по умолчанию. Информация об этих параметрах зачастую отсутствует в записях, ее опускают.

Пример: выражение «ip host 77.88.8.8» в полном виде выглядит так: «(ip && host 77.88.8.8)», а если приводить максимально точно, то даже так: «(ip && (src host 77.88.8.8 || dst host 77.88.8.8))».

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

Пример: выражение «ip host yandex.ru» можно записать так: «ether proto \ip && host yandex.ru».

В некоторых случаях логический оператор and допустимо не указывать (он будет подразумеваться по умолчанию), а в некоторых случаях ставить его необходимо.

Примеры:

  • Система примет выражение ip and tcp, но не примет ip tcp.
  • Система примет и выражение ip host 77.8.8.8, и выражение ip and host 77.88.8.8.
  • Система примет выражение ether host 3C-7C-3F-F5-7F-6E, но не примет выражение ether and host 3C-7C-3F-F5-7F-6E.


4.12 Примеры простых фильтров захвата

ip – IPv4-пакеты.

ip6 – IPv6-пакеты.

tcp – TCP-пакеты.

udp – UDP-пакеты.

arp – ARP-пакеты.

host 77.88.8.8 – IPv4-пакеты, в которых используется адрес отправителя или получателя 77.88.8.8.

host yandex.ru – IPv4-пакеты, в которых используется адрес отправителя или получателя, соответствующий доменному имени yandex.ru.

host 77.88.8.8 && icmp – ICMP-пакеты, инкапсулированные в IPv4-пакет, в которых используется адрес отправителя или получателя 77.88.8.8.

ether host 3C-7C-3F-F5-7F-6E – пакеты, у которых в заголовке канального уровня используется MAC-адрес отправителя или получателя 3C-7C-3F-F5-7F-6E.

tcp port 22 – TCP-пакеты, в которых используется порт отправителя или получателя 22 (SSH).

dst port https – TCP-пакеты, в которых используется порт получателя 443.

udp port 67 || 68 – UDP-пакеты, у которых порт отправителя или получателя 67 или 68 (DHCP-запросы или DHCP-ответы).

ip6 multicast – IPv6-многоадресные пакеты.

!(udp || tcp) – пакеты, у которых нет ни UDP-, ни TCP-заголовка.


4.13 Проверка знаний по фильтрам захвата Wireshark

4.13.1 Доступ к вопросам

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

Для того, чтобы воспользоваться этой возможностью, необходимо:

  1. Перейти на сайт: https://kursy-po-it.online.
  2. Указать (без кавычек) имя пользователя: «demo» и пароль: «Pass66word!».
  3. Выбрать курс «Архитектура современных компьютерных сетей (демоверсия)».
  4. В разделе «Работы, доступные в демоверсии курса» выбрать подраздел «Модуль 8. Основы анализа сетевого трафика с Wireshark».

4.13.2 Примеры вопросов

Демовопрос № 4 по фильтру захвата Wireshark

Демовопрос № 5 по фильтру захвата Wireshark