Этапы фильтрации при захвате в Wireshark

Опубликовано: 29 Января, 2023

Условие: Wireshark — захват и анализ пакетов

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

Packet Capture или PCAP (libcap) — это API для захвата данных сетевых пакетов в режиме реального времени в Wireshark. libpcap позволяет нам захватывать или отправлять пакеты с работающего сетевого устройства или файла. Эти файлы PCAP можно использовать для просмотра сетевых пакетов TCP/IP и UDP. Wireshark создает файл .pcap для организации и регистрации пакетных данных из сети. Фильтры захвата Wireshark написаны на языке фильтров libpcap.

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

Некоторые фильтры захвата:

1. Фильтр захвата Wireshark для telnet для захвата трафика определенного хоста:

tcp port 23 and host 10.0.10.12

2. Фильтр захвата Wireshark для telnet для захвата всего трафика, кроме трафика с 10.0.0.5.

tcp port 23 and not src host 10.0.0.5

Важные примитивы: -

[src|dst] host <host> 

Этот примитив помогает нам применять фильтры к имени hostIP-адреса или имени. Но если нам нужен адрес источника или адрес назначения, то мы должны указать src|dst перед примитивом.

ether [src|dst] host <ehost>

Этот примитив помогает нам применять фильтры к адресам хостов Ethernet. Но если нам требуется адрес источника или адрес назначения, то мы должны указать src|dst между ключевыми словами ether и host.

gateway host <host>

Этот примитив помогает нам применять фильтры к пакетам, которые использовали хост в качестве шлюза.

[src|dst] net <net> [{mask <mask>}|{len <len>}]

Этот примитив помогает нам применять фильтры к сетевым номерам. Но если нам нужна исходная сеть или сеть назначения, мы должны указать src|dst перед примитивом. Если номер нашей сети отличается, то мы можем вручную выбрать сетевую маску или префикс CIDR для сети.

[tcp|udp] [src|dst] port <port>

Этот примитив помогает нам применять фильтры к номерам портов TCP и UDP. Но если нам нужен исходный порт или порт назначения и пакеты TCP или UDP, то мы должны указать ключевые слова src|dst и tcp|udp перед примитивом. Но одна вещь заключается в том, что tcp|udp должен стоять перед src|dst.

less|greater <length>

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

ip|ether proto <protocol>

Этот примитив помогает нам применять фильтры к указанному протоколу либо на уровне Ethernet, либо на уровне IP.

ether|ip broadcast|multicast

Этот примитив помогает нам применять фильтры к широковещательным или многоадресным рассылкам Ethernet или IP.

<expr> relop <expr>

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

Шаги для фильтрации во время захвата:

  • Для фильтрации пакетов запустите Wireshark, выбрав сеть, которую мы хотим проанализировать.
  • Теперь в поле «Фильтр» введите примитив фильтра, который вы хотите применить при отображении пакетов.

Например :

tcp.port == 443 && ip.src == 192.168.29.52

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

  • Теперь нажмите синюю стрелку в правом углу поля «Фильтр», чтобы применить фильтр.

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