Фільтри захвату для мережевих аналізаторів (tcpdump, Wireshark, Paketyzer)
1. Фільтри захвату
2. Синтаксис фільтрів захвату
Увага: всі класифікатори реєстрозалежні і повинні писатися лише маленькими літерами.
Наприклад:net 192.168.0.0/24 and (tcp port 21 or tcp port 20 or tcp port 25 or tcp port 80 or tcp port 110)можна скоротити доnet 192.168.0.0/24 and (tcp port 21 or 20 or 25 or 80 or 110)
Список основних примітивів, які можна використовувати для написання фільтрів захоплення, показаний у таблиці 2-1.
3. Розширені приклади фільтрів захвату
Яким би не було значення інших біт, при накладанні цієї маски в результат потрапить тільки значення поля, що цікавить нас. Навіть якщо ми встановимо всі біти в одиницю, це не вплине на результат:
Таким чином, якщо біт, що цікавить нас, дорівнює одиниці, в результаті накладання маски ми отримаємо вагу цього біта, якщо він дорівнює нулю, то ми отримаємо нуль. Виходячи з цього, для вирішення цього завдання нам необхідно застосувати наступний фільтр:ip[1:1] & 2 = 2
Він братиме значення другого байта, накладатиме на нього маску «вирізує» значення певного біта і порівнювати результат із вагою цього біта.
Можна навести ще один приклад на підставі аналізу поля Type Of Service заголовка IP: нам потрібно побачити всі кадри, в яких в заголовку IPv4 в полі ToS значення бітів Precedence (переважність) не дорівнює нулю. Для цього застосуємо маску, в який одиницями виділимо ті біти, які відповідають за Precedence:
Результат не дорівнює нулю, і це говорить про те, що поле Precedence так само не дорівнює нулю.
Результат дорівнює нулю, і це говорить про те, що поле Precedence так само дорівнює нулю.
В результаті, перевірка на ненульове значення поля ToSзаголовку IPv4 буде виглядати так:ip[1:1] & 224 != 0або те ж саме, але використовуючи шістнадцятковий варіант:ip[1:1] & 0xe0! = 0
Розглянемо приклад із іншим протоколом. Візьмемо протокол TCP. Наприклад, нам потрібно захопити всі кадри, що передають TCP сегменти з опціями. Для того щоб зрозуміти, що потрібно шукати і де звернемося до RFC-793.
Примітка: Це один із стандартних прикладів, і при необхідності ви легко зможете перевірити себе, скориставшись пошуком в інтернет, але все ж таки спробуйте докласти зусиль і самостійно з ним розібратися.
Тільки зареєстровані користувачі можуть брати участь в опитуванні. Заходьте будь ласка.