Количество байтов в текущей позиции с заданным смещением, считываемых из пакета. Может принимать значения 1, 2 или 4.
<size>
Длина строки; указывается для строковых данных.
*
Использование всех символов до первого нечислового символа.
<operator>
Оператор, использующийся для сравнения байта с заданным значением:
< — меньше;
> — больше;
= — равно;
!= — не равно;
& — результат выполнения операции логического И для <bytes> и <MASK> (число, задающее интересующие биты) не равен 0;
~ — результат выполнения операции логического И для <bytes> и <MASK> равен 0;
^ — результат выполнения операции XOR для <bytes> и <MASK> не равен 0.
Например:
.byte_test=1,&,0x80,0;
проверяет, что старший разряд первого байта поля данных пакета установлен в 1.
<value>
Значение, с которым выполняется сравнение, или размер пакета.
Значение может быть задано с использованием префикса 0х; доступно использование арифметических операторов (+, -, *, /).
<offset>
Смещение в поле данных пакета:
relative: от последней точки совпадения.
Если параметр смещения не указан, то анализ, по умолчанию, производится с начала пакета.
<post_offset>
Число байтов, на которое необходимо сместить точку начала сканирования.
Важно! Применим для .byte_jump.
<multiplier>
Числовое значение, на которое необходимо умножить извлечённое число перед сравнением или переносом точки начала сканирования; параметр является опциональным.
<modifiers>
Модификаторы (опционально):
big — обработка данных со старшего разряда;
little — обработка данных с младшего разряда;
string — данные в пакете являются строковыми;
hex — преобразование строки данных в шестнадцатеричное число;
dec — преобразование строки данных в десятичное число;
oct — преобразование строки данных в восьмеричное число;
align — округление числа конвертируемых байтов до следующей 32-битной границы; используется только для .byte_jump (например, 0 ➜ 0; 1,2,3,4 ➜ 4; 5,6 ➜ 8 и т.д.).
Пример сравнения первых 4 байтов каждого из пакетов со значением 1234; данные в пакете представлены в символьном формате в десятичной системе счисления:
.byte_test=4,=,1234,0,string,dec;
Параметр .byte_jump переносит точку начала сканирования на указанное число байтов. Общий формат записи при обработке данных со старшего или младшего разряда (т.е. для модификаторов big и little):