Лабораторне заняття 7. Основи Ethernet та IP.

ДОДАТОК 7.3. ВСТАНОВЛЕННЯ І РОБОТА З WIRESHARK

Д.7.3.6.Налаштування фільтрів.

Якщо запустити сніфер без додаткових налаштувань, то він буде захоплювати всі пакети, які проходять через мережний інтерфейс. Найбільш часто користувача цікавлять тільки деякі пакети, які відповідають заданим критеріям. Для визначення цих критеріїв служать фільтри відображення та захоплення.

Існує два варіанти фільтрації пакетів: на етапі захоплення і на етапі відображення користувачу. У першому випадку ефективність роботи сніферу та споживані ним системні ресурси значно нижче, ніж у 2-му випадку.

При визначенні фільтру вказуються умови, яким повинні відповідати ті пакети, які повинні бути пропущені через фільтр. Назва полів та протоколів в фільтрі вводиться тільки маленькими літерами. Якщо текст фільтру має коректний зміст, поле фільтру підсвічується зеленим, якщо некоректний – червоним. Для задіяння фільтру необхідно його підтвердити кнопкою "Apply".

Фільтрацію можна проводити за протоколами або за значеннями полів в PDU (пакеті). Для застосування фільтрації за протоколом необхідно в поле вводу фільтра ввести назву протоколу. Наприклад фільтр за протоколом "arp" виводить тільки ARP-кадри  (рис.Д.15).

Рис.Д.15. Приклад задавання фільтру через назву протоколу.

 

Для фільтрації за значенням поля в PDU, записується назва поля, оператор порівняння та значення з яким порівнюється це поле. Для формування тексту фільтру можна скористатися майстром побудови виразів фільтру, який викликається через кнопку "Expression...".  Наприклад результат роботи майстра з рис.Д.16 буде текстове значення фільтру  

modbus_tcp.func_code == 3

У таб. наводиться перелік найбільш вживаних для лабораторних робіт полів.

Поле

Опис

eth.addr

Фізична адреса джерела або отримувача в кадрі Ethernet

eth.dst

Фізична адреса отримувача в кадрі Ethernet

eth.src

Фізична адреса джерела в кадрі Ethernet

eth.len

Довжина кадру Ethernet

ip.addr

Мережна адреса джерела або отримувача в пакеті протоколу IP

ip.dst

Мережна адреса отримувача в пакеті протоколу IP

ip.src

Мережна адреса джерела в пакеті протоколу IP

ip.proto

Позначення протоколу, який був інкапсульований в пакет IP

tcp.ack

Підтвердження (АСК) протоколу ТСР

tcp.port

Порт джерела і отримувача в сегменті протоколу TCP

tcp.dstport

Порт отримувача в сегменті протоколу TCP

tcp.srcport

Порт джерела в сегменті протоколу TCP

udp.port

Порт джерела або отримувача в сегменті протоколу UDP

udp.dstport

Порт отримувача в сегменті протоколу UDP

udp.srcport

Порт джерела в сегменті протоколу UDP

dns.qry.name

Ім’я мережного ресурсу в DNS запиті

dns.resp.name

Ім’я мережного ресурсу в DNS відповіді

Рис.Д.16. Приклад задавання фільтру через поле протоколу.

 

Оператор порівняння може являти собою С-подібний оператор або символьне скорочення оператору, які наведені в таб.Д1

символьне скорочення

C-like

Опис та приклад

eq

==

Рівне

ip.src==10.0.0.5

ne

!=

Нерівне

ip.src!=10.0.0.5

gt

Більше ніж

frame.len > 10

lt

Менше ніж

frame.len < 128

ge

>=

Більше або дорівнює

frame.len >= 0x100

le

<=

Менше або дорівнює

frame.len <= 0x20

 

Значення поля типу без-знакового цілого можна вводити в різних системах числення: 10-кова, 8-кова (починається з 0), 16-кова (починається з 0x). Наприклад, наступні значення еквівалентні.

ip.len le 1500

ip.len le 02734

ip.len le 0x436

Для того щоб задати умову для булевого поля, достатньо вказати це поле. Наприклад, наступне значення фільтру пропустить тільки ті пакети, для яких прапорець SYN в сегменті TCP буде виставлений  

tcp.flags.syn

Байти або два байти адреси Ethernet можуть бути розділені розділювачами ":", "-" або ".". Наприклад:

eth.dst == ff:ff:ff:ff:ff:ff

eth.dst == ff-ff-ff-ff-ff-ff

eth.dst == ffff.ffff.ffff

Для визначення в умові текстового поля, його значення береться в лапки. Наприклад:

http.request.uri == "http://www.wireshark.org/"

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

символьне скорочення

C-like

Опис та приклад

not

!

заперечення

not llc

and

&&

конкатенація (логічне «І»)

ip.src==10.0.0.5 and tcp.flags.fin

or

||

альтернатива (логічне «АБО»)

ip.scr==10.0.0.5 or ip.src==192.1.1.1