Home
Contents

CommView for WiFi - анализ и мониторинг беспроводных сетей

Prev Page Next Page
 
Введение
О программе CommView for WiFi
Что нового
Работа с программой
Установка драйвера
Обзор
Главное меню
Узлы
Детальная информация по точкам доступа и станциям
Каналы
Текущие IP-соединения
Пакеты
Log-файлы
Просмотр Log-файлов
Правила
Универсальные правила
Предупреждения
Ключи WEP/WPA
Реконструкция TCP-сессий
Реконструкция UDP-потоков
Поиск пакета
Статистика и отчеты
Псевдонимы
Генератор пакетов
Визуальный конструктор пакетов
Производитель NIC
Захват по расписанию
Реассоциация узлов
Работа с CommView Remote Agent for WiFi
Использование RPCAP
Использование Aruba remote capture
Информация о портах
Установка опций
Ответы на вопросы (FAQ)
Анализ VoIP
Введение
Работа с анализатором VoIP
Сессии SIP и H.323
Потоки RTP
Регистрации, станции, ошибки
Log-файлы звонков и отчеты
Воспроизведение звонка
Просмотр VoIP log-файлов
Работа со списками в анализаторе VoIP
Файлы NVF
Дополнительные главы
Мониторинг сетей 802.11n и 802.11ас
Ошибки CRC и ICV
Расшифровывание WPA
Об уровне сигнала
Захват пакетов A-MPDU и A-MSDU
Использование CommView For WiFi на виртуальной машине
Многоканальный захват
Спектральный анализ
Перехват больших объемов трафика
Невидимый режим
Параметры командной строки
Обмен данными с вашим приложением
Пользовательский модуль декодирования
Формат Log-файлов CommView
Информация
Как купить CommView for WiFi

Универсальные правила

Универсальные правила являются мощным и гибким механизмом создания фильтров с помощью булевой логики. Требуются лишь элементарные знания математики и логики; синтаксис правил несложен для понимания.

Обзор

Чтобы создать новое правило, задайте ему произвольное имя в поле Имя, выберите действие (Захват пакетов/Игнорировать пакеты), в поле Формула задайте формулу, пользуясь синтаксисом, описанным ниже, и нажмите Добавить/Изменить. Новое правило будет добавлено в список и немедленно активизировано. Вы можете задать неограниченное количество правил, но активными из них буду лишь те, возле которых будет установлена метка. Любое правило можно включить/выключить, изменяя соответствующий флажок, либо совсем удалить правило с помощью кнопки Удалить. Если активны сразу несколько правил, вы можете выполнить комбинированное правило, нажав на кнопку Оценить. Обратите внимание, что несколько позитивных правил ("Захват") объединяются логическим оператором OR ("ИЛИ"), т.е. для трех активных правил RULE1, RULE2, RULE3, результирующим будет правило RULE1 OR RULE2 OR RULE3. Если вы также используете негативные правила ("Игнорировать"), то они будут добавлены в результирующее правило с логическим оператором AND ("И"), так как результирующее правило с логическим оператором OR ("ИЛИ") не имеет смысла.

Описание синтаксиса

dir – Направление пакета. Возможные значения - in (входящий), out (исходящий) и pass (транзитный).

etherproto – Протокол Ethernet (13-й и 14-й байты пакета). Допустимыми значениями являются числа (например, etherproto=0x0800 соответствует протоколу IP) или известные аббревиатуры (например, etherproto=ARP, что соответствует  0x0806).

ipproto – Протокол IP. Допустимыми значениями являются числа (например, ipproto!=0x06 соответствует протоколу TCP) или известные аббревиатуры (например, ipproto=UDP, что соответствует 0x11).

smac – MAC источника. Допустимыми значениями являются MAC-адреса источников в шестнадцатеричном виде (например, smac=00:00:21:0A:13:0F) или алиасы.

dmac – MAC получателя.

sip – IP- или IPv6-адрес источника. Допустимыми значениями являются IP-адреса, записанные через точку (например, sip=192.168.0.1), IP-адреса с карт-бланшами (то есть, sip!=*.*.*.255, кроме адресов IPv6), сетевые адреса с масками подсетей (например, sip=192.168.0.4/255.255.255.240 или sip=192.168.0.5/28), диапазоны IP-адресов (то есть, sip from 192.168.0.15 to 192.168.0.18 или sip in 192.168.0.15 ... 192.168.0.18) или алиасы. Для работы с адресами IPv6 требуется версия Windows XP или выше, а также установленный протокол IPv6.

dip -  IP-адрес получателя.

sport – Номер порта-источника пакета TCP или UDP. Допустимыми значениями являются числа (например, sport=80 соответствует HTTP), диапазоны (то есть, sport from 20 to 50  или sport in 20..50 для любых портов в диапазоне от 20 до 50)  или алиасы, известные операционной системе (например, sport=ftp, что соответствует порту 21). Проверить список алиасов, известных ОС, можно нажав Вид => Информация о портах.

dport – Порт-получатель пакетов TCP или UDP.

flag – Флаг TCP. Допустимыми значениями являются числа (например, 0x18 соответствует PSH ACK), одна или несколько букв из следующего списка: F (FIN), S (SYN), R (RST), P (PSH), A (ACK) и U (URG) или ключевое слово has, означающее, что флаг содержит определенное значение. Например: flag=0x18, flag=SA, flag has F.

size – Размер пакета. Допустимыми значениями являются числа (например, size=1514) или диапазоны (size from 64 to 84 или size in 64..84 для размеров с 64 до 84 байтов).

str – Содержимое пакета. Задает условие, что пакет должен содержать определенную строку. Функция имеет три аргумента: образец поиска, местоположение, чувствительность к регистру. Первый аргумент – строка, например, 'GET'. Второй аргумент – число, показывающее смещение строки в пакете. Счет начинается с нуля – первый байт пакета надо искать, задавая смещение, равное 0. Чтобы искать строку в любом месте пакета, задайте смещение равным –1. Третий аргумент устанавливает чувствительность к регистру и может принимать значения false (без учета регистра) или true (с учетом регистра). Второй и третий аргументы необязательны, по умолчанию имеют значения –1  и false соответственно (искать во всем пакете, без учета регистра). Примеры: str('GET',-1,false), str('GET',-1), str ('GET').

hex - Содержимое пакета. Задает условие, что пакет должен содержать определенный 16-ричный набор.  Функция имеет два аргумента: образец поиска и местоположение. Первый аргумент – 16-ричная величина, например, 0x4500. Второй аргумент – число, задающее смещение внутри пакета. Отсчет ведется с нуля, т. е. первый байт пакета соответствует смещению, равному 0. Чтобы искать во всем пакете, задайте смещение равным –1. Второй аргумент необязателен, по умолчанию имеет значение –1  (искать во всем пакете). Пример: hex(0x04500, 14) , hex(0x4500, 0x0E), hex (0x010101).

bit - Содержимое пакета. Задает условие, что пакет должен содержать по указанному смещению определенный бит, имеющий значение 1. В этом случае функция вернет код возврата true. Если же искомый бит имеет значение 0 или находится за пределами пакета - функция вернет код возврата false. Первый аргумент – номер бита в байте, начиная с нуля; допустимые значения 0-7. Таким образом, если вы ищете восьмой бит, установите номер равным семи. Второй аргумент – число, обозначающее смещение байта в пакете, начиная с нуля, то есть, если нужен первый байт пакета – смещение должно быть равно 0. Оба аргумента обязательны, например: bit(0, 14) , bit(5, 1).

ToDS, FromDS, MoreFrag, Retry, Power, MoreData, WEP, Order, Ftype, FsubType, Duration, FragNum, SeqNum - позволяют вам использовать значения полей заголовков пакетов стандарта 802.11. Имена параметров полностью соответствуют именам полей заголовков пакетов, описанных в спецификации стандарта 802.11. Допустимыми значениями для полей ToDS, FromDS, MoreFrag, Retry, Power, MoreData, WEP и Order являются 0 или 1. Для полей Ftype, FsubType, Duration, FragNum и SeqNum допустимы также другие числовые значения. Для более подробной информации о смысле этих полей и допустимых значениях, обратитесь к спецификации стандарта 802.11.

Вышеописанные ключевые слова можно использовать со следующими операторами:

and - Конъюнкция, булево И.

or  - Дизъюнкция, булево ИЛИ.

not - Булево отрицание.

= - Арифметическое равенство.

!= - Арифметическое неравенство.

<> - Арифметическое неравенство.

> - Арифметическое условие "больше, чем".

< - Арифметическое условие "меньше, чем".

( ) – Скобки, управляющие порядком вычисления правил.

Числа могут быть в десятичной или шестнадцатеричной системе. Для указания на шестнадцатеричную нотацию, используйте 0x перед значением, например, 15  и 0x0F задают одно и тоже число.

Примеры

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

· dir!=pass // Захватывать только входящие и исходящие пакеты. Транзитные пакеты игнорируются.
· (smac=00:00:21:0A:13:0E or smac=00:00:21:0A:13:0F) and etherproto=arp // Захватывать пакеты ARP, посылаемые двумя компьютерами с MAC 00:00:21:0A:13:0E и 00:00:21:0A:13:0F.
· ipproto=udp and dport=137 // Захватывать пакеты UDP/IP, посылаемые в порт 137.
· dport=25 and str('RCPT TO:', -1, true) // Захватывать пакеты TCP/IP или UDP/IP, содержащие строку "RCPT TO:" и направляемые в порт 25.
· not (sport>110) // Захватывать все пакеты, кроме тех, что имеют порт-источник с номером выше 110.
· (sip=192.168.0.3 and dip=192.168.0.15) or (sip=192.168.0.15 and dip=192.168.0.3) // Захватывать только IP-пакеты, следующие между двумя хостами, 192.168.0.3 и 192.168.0.15. Все остальные игнорируются.
· ((sip from 192.168.0.3 to 192.168.0.7) and (dip = 192.168.1.0/28)) and (flag=PA) and (size in 200..600) // Захватывать  TCP-пакеты, размер которых лежит в диапазоне от 200 до 600 байтов, приходящие с IP-адресов в диапазоне  192.168.0.3 - 192.168.0.7, причем IP-адреса получателей находятся в сегменте 192.168.1.0/255.255.255.240, и имеющие TCP-флаг PSH ACK.
· Hex(0x0203, 89) and (dir<>in) // Захватывать пакеты, содержащие 0x0203 в смещении 89, при этом направление пакета - не "входящий".
· not(ftype=0 and fsubtype=8) // Игнорировать management-пакеты типа beacon
· ftype=2 and wep=1 // Перехватывать зашифрованные пакеты данных
· MoreFrag=0 and FragNum=0 // Перехватывать нефрагментированные пакеты