Как сравнить байты в iptables u32?

Подскажите, что не так:
есть модуль u32 в IPtables, например я сравниваю пакет начиная с 6-го байта, первые 2 значения чтобы узнать, UDP этот пакет или нет: "0x6&0xFF=0x11" - тут всё отлично, всё срабатывает
теперь я хочу сравнить 0x1101, который находится начинается с 64 байта, пробуем: 0x40&0xFFFF=0x1101 и ничего не срабатывает.
Допустим нельзя сразу же перейти к середине части пакета, значит пробуем сначала перейти к 42 байту где начинается содержимое пакета, а потом сместимся ещё на 22 и попробуем сравнить: 0x0>>0x16&0x2a@0xFFFF=0x1101 - не работает, так: 0x2a@0x0>>0x16=0x110100 тоже не выходит.

Я просто не вижу в этом логики или же не понимаю как работают операторы @ и >>, объясните пожалуйста.
  • Вопрос задан
  • 495 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы