Wireshark

#6 Wireshark. Фильтры захвата.

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

— Дадим определение фильтров захвата;

— Мы узнаем, как создать и применить фильтр захвата;

— Изучим синтаксис фильтров захвата;

— Создадим список часто используемых фильтров;

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

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

Чтобы применить фильтры захвата, перейдите к опциям захвата, и дважды кликните по интерфейсу, к которому хотите применить фильтр:

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

В поле «Capture Filter» можно набрать название фильтра, который Вам необходим. Если подсветка выделена красным цветом, то это значит, что синтаксис неверен:

Если подсветка выделена красным цветом, то это значит, что синтаксис неверен

Если подсветка зеленая, то Вы можете применить этот фильтр.

Если подсветка зеленая, то Вы можете применить этот фильтр.

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

Фильтр захвата состоит из идентификаторов и классификаторов. Идентификатор может быть именем или номером.

Классификаторы можно разделить на три группы:

  1. Тип: хост, порт, net;
  2. Dir: источник, место назначения;
  3. Proto: tcp, udp;

Синтаксис фильтров захвата называется «bpf» или Berkeley Packet Filters. Он был изначально создан для tcp-dump. Для того, чтобы более подробнее ознакомиться с BPF, обратитесь к документации wireshark.

Если хотите использовать фильтр по айпи-адресам, Вы можете использовать следующие фильтры:

host 10.0.0.1 (трафик шифруется от и к этому хосту);

host 2001:db7:123::1 (тоже самое можно использовать и с версией айпи-адреса версии 6);

not host 10.0.0.1 (чтобы отключить трафик к одному из хостов, можно прописать оператор «not»);

src host 10.0.0.1 (чтобы уточнить направление трафика, пишите src или dst, которые означают источник и пункт назначения);

dst host 2001:db7:123::1;

host www.google.com (также можно фильтровать по доменному имени, но это сработает, если сайт будет указан до начала захвата);

Также мы можем фильтровать сети, и для этого используется классификатор «net»:

  • net 10.0.0.0/8;
  • net 10.0.0.0 mask 255.0.0.0 (тоже самое можем сделать с применением ip-адресации и классификатора «mask» — маски подсети);
  • ip6 net 2001:db8:123::/64 (для сетей, с классификатором ip6 применима только такая адресация);
  • not dst net 192.168.0.0/24 (существует возможность исключать сети и задавать направление трафика);
  • ip broadcast – filters packets to 255.255.255.255;
  • ip multicast – filters packets to 224.0.0.0-239.255.255.255 and 255.255.255.255 (чтобы фильтровать пакеты broadcast и multicast каналов по айпи версии 4, используйте эти фильтры);

Фильтр MAC-адресов:

eher src AA:BB:CC:DD:EE:FF;

eher dst AA:BB:CC:DD:EE:FF;

eher host AA:BB:CC:DD:EE:FF;

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

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

Фильтры сети можно сократить. Например:

  • net 10 – это тоже самое, что и network 10.0.0.0/8.
  •  net 192.168/16network 192.168.0.0/16.
  • net 192.168 mask 255.255.0.0 – same as previous.

Здесь все понятно. И последний фильтр – это тоже самое, что и предыдущий.

Чтобы фильтровать трафик WLAN, можете прописать классификатор, также, как и для проводного трафика.

Важная вещь, которую нужно знать – использование фильтра host, при захвате трафика от, или к веб-сайту. Если фильтр захвата www.google.com, и Вы будете перенаправлены на www.google.ru, то Вы больше не сможете захватывать пакеты.

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

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

  • tcp;
  • udp;
  • ip;
  • arp;
  • icmp;
  • ip6;

 Если приложение или протокол, который Вам нужно отфильтровать находится в tcp или udp, Вы можете создать фильтр, по номеру порта.

Чтобы фильтровать трафик dns, используйте фильтр: udp port 53.

Для того, чтобы отфильтровать ответы, используйте: udp src port 53.

Для запросов используйте «dst»: udp dst port 53. Чтобы включить передачу, используйте «tcp», примените фильтр: port 53.

Если Вам нужно отфильтровать много портов, используйте классификатор «portrange»: tcp portrange 1-1024.

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

— Отрицание (! Or not);

Concatenation (and);

Alternation (or).

Если Вам нужно отфильтровать трафик с назначением: 10.0.0.1 и tcp-порт источника 12345, то мы используем следующий фильтр:

dst host 10.0.01 and tcp src port 12345.

Также возможно фильтровать отдельные байты, с помощью фильтра:

proto[expr:size], где expr – это отклонение, а size – определяет количество байтов;

Чтобы создать фильтр для «tcp», мы используем следующий фильтр захвата: tcp[14:2]=0xffff, и это означает, что он перейдет на уровень «tcp». Фильтр начнет с байта под номером 14, начиная от 0, где он захватит два байта, что сравнимо с 0xffff. Данное значение в десятичной системе счисления равен 65535. Если Вам не нравится редактор фильтра по-умолчанию, то Вы можете сами добавить фильтры, с помощью текстового редактора. Чтобы сделать это, перейдите на вкладку «Help», далее «About Wireshark», и «Folders»:

тобы сделать это, перейдите на вкладку «Help», далее «About Wireshark», и «Folders»

Далее нужно дважды кликнуть по имени «Personal configuration»:

Далее нужно дважды кликнуть по имени «Personal configuration»

Открываем файл «cfilters» любым текстовым редактором:

Открываем файл «cfilters» любым текстовым редактором

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

На этом все. Всем хорошего дня!

#1 Что такое Wireshark?

#2 Базовый функционал Wireshark.

#3 Интерфейс Wireshark. Часть 1.

#4 Интерфейс Wireshark. Часть 2.

#5 Wireshark. Захватываем трафик.