Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Настройка
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Форум
    RouterOS
    Регулярное выражение – странность: DHCP

    Регулярное выражение – странность: DHCP

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Регулярное выражение – странность: DHCP, RouterOS
     
    dennismtaylor
    Guest
    #1
    0
    11.08.2012 04:08:00
    Это не вызывает у меня реальных проблем, но это заставляет задуматься. RouterOS V5.14 и более поздние версии (возможно, и другие): из следующих двух регулярных выражений уровня 7 первое соответствует пакетам DHCP, а второе — нет:

    [1] [\01-\20]\06. c\82sc. (совпадает)
    [2] [\01-\20]\06. c\82Sc. (не совпадает)

    Разница в "magic cookie" в конце — конкретно, как показано, строчная s против заглавной S. Когда реализовано как регулярное выражение протокола уровня 7, второе выражение должно совпадать с пакетами DHCP с правильным значением "magic cookie" 99.130.83.99, но этого не происходит. Однако первое выражение совпадает, хотя и не должно. Вот пример пакета DHCP:

    0000 00 00 00 00 00 00 00 00 00 00 00 00 08 00 45 00
    … …E.
    0010 01 48 00 00 00 00 10 11 ce 16 c0 a8 2d 01 c0 a8
    .H… …-…
    0020 -d=00 43 00 44 01 34 d= a6 02 01 06 00 d1 7e
    -=.C.D.4 =…~
    0030 /!00 00 00 00 00 00 00 00 c0 a8 2d 3d c0 a8
    /!.. …-=..
    0040 - 01 00 00 00 00 60 fa cd 8a 04 0f 00 00 00 00
    -…`. …
    0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    … …
    0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    … …
    0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    … …
    0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    … …
    0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    … …
    00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    … …
    00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    … …
    00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    … …
    00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    … …
    00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    … …
    00f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    … …
    0100 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    … …
    0110 00 00 00 00 00 00 63 82 53 63 35 01 05 36 04 c0
    …c. Sc5..6..
    0120 a8 2d 01 33 04 00 03 f4 80 01 04 ff ff ff 00 03
    .-.3… …
    0130 04 c0 a8 2d 01 06 08 45 36 b1 3e 45 36 a1 3e ff
    …-…E 6.>E6.>.
    0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    … …
    0150 00 00 00 00 00 00

    So, why does the “incorrect” regexp match, while the “correct” one does not? What am I missing, here? \01\02 ↩︎ \01\02 ↩︎
     
     
     
    greencomputing
    Guest
    #2
    0
    12.08.2012 16:37:00
    Привет! Я повторил твой тест, используя шестнадцатеричное представление литералов S, s, c, и подтверждаю то, что у тебя получилось. По-моему, в коде произошла перестановка между ‘S’ (заглавная) и ‘s’ (строчная). ASCII кодировка говорит, что: hex_value('s')=0x73

    hex_value('S')=0x53, в то время как в RouterOS, если ты пишешь выражение вроде [1] [\x01-\x20]\x06.*c\x82\x73\x63, оно будет соответствовать 0x63 0x82 0x53 0x63 (как ты и сказал, это "magic cookie", используемый для dhcp), а использование [2] [\x01-\x20]\x06.*c\x82\x53\x63 этого cookie не совпадет. С другой стороны, интересно, что “официальное” определение netfilter pattern, используемое для dhcp, выглядит так: ^[\x01\x02][\x01- ]\x06.*c\x82sc, как определено в http://l7-filter.sourceforge.net/layer7-protocols/protocols/dhcp.pat, где используют последовательность “sc”, а не “Sc”, как мы ожидаем, согласно rfc 2132 http://www.ietf.org/rfc/rfc2132.txt, где magic cookie определен точно, как ты сообщил: This field identifies the mode in which the succeeding data is to be interpreted. The value of the magic cookie is the 4 octet dotted decimal 99.130.83.99 (or hexadecimal number 63.82.53.63) in network byte order. Теперь, если мы правы и никаких других видов кодировки не используются, которые мы не знаем, это означает, что поведение RoS некорректно в этом pattern и в других, содержащих литерал ‘s’ (0x73). В этом случае, я думаю, стоит поднять баг. С другой стороны, если поведение будет исправлено, у нас будет много mikrotik board, использующих l7-фильтры для dhcp, которые потребуют исправить конфигурации. Но это уже другая история. Надеюсь, этот вопрос будет прояснен экспертами Mikrotik. Хорошего дня \x01\x02 ↩︎ \x01\x02 ↩︎
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры