The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Во FreeBSD появилась возможность модифицировать поля IP-пакетов с помощью ng_patch

16.07.2010 20:34

В ветки FreeBSD 8-STABLE и 7-STABLE был добавлен новый узел NetGraph под названием ng_patch. С помощью ng_patch появилась возможность редактирования произвольных полей в заголовках IP-пакетов, в том числе TOS/DSCP и TTL. Пример использования нового узла можно посмотреть в данной заметке.

  1. Главная ссылка к новости (http://nuclight.livejournal.co...)
Автор новости: terminus
Тип: К сведению
Ключевые слова: freebsd, netgraph, ip, patch
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (10) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, pavlinux (ok), 02:53, 17/07/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Это типа как:

    # iptables -t mangle -A POSTROUTING -j TOS --set-tos 0x10
    # iptables -t mangle -A POSTROUTING -j TTL --ttl-set 128

    ?

     
  • 1.3, linux_must_die (ok), 08:53, 17/07/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    это типа как-то так:
    >Зато, в отличие от других решений (в том числе на других ОС), эта нода позволяет производить последовательность операций над произвольными байтами пакета, не только ToS или TTL
     
  • 1.4, XoRe (ok), 10:57, 17/07/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Это изменение любого байтика и битика в пакете.
    Как в данных, так и в заголовке.
    Причем, все это в ядре.

    Так тоже можно менять, через divert передавать пакет своей программе, например.
    Но это юзерленд, что не тру.
    В ядре - кошернее)

    Вместе с модулем ng_bpf это дает возможность выловить и изменить любой пакет.
    Возможности открываются огромные.
    Например, в асечном пакете можно изменять текст "я тебя люблю" на "иди в попу!!" =)

    Оно, конечно, не всем надо (особенно, приведенный пример).
    Но если кому-то надо что-то менять на лету, штатный ядерный способ им понравится)

     
  • 1.5, xxx (??), 13:29, 17/07/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >NB: Только учтите, что это средство - в стиле Unix, и позволяет админу прострелить себе ногу. Хитро поигравшись значениями, можно так изменить пакет, что на выходном пути IP-стека ядро свалится в панику или будут какие-нибудь еще непредсказуемые результаты.

    Что-то не айс.

     
     
  • 2.6, QuAzI (??), 16:28, 17/07/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А ядру какое дело, что там транзитом летает? Если даже что-то будет в этом плане не айс, то это скорее будет относиться к текущему модулю и пролечится по факту выявления возможностей прослтрелить ногу.
     

  • 1.7, Ян Злобин (ok), 04:58, 19/07/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вроде и раньше можно было, судя по man ipfw
     
     
  • 2.8, terminus (ok), 10:29, 19/07/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Менять нельзя было. Только находить соответствие по iptos/ipttl в пакете.
     
     
  • 3.9, Ян Злобин (ok), 10:30, 19/07/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Менять нельзя было. Только находить соответствие по iptos/ipttl в пакете.

    Можно было добавлять свои флаги.  Если не ошибаюсь, начиная с 7-ки.

     
     
  • 4.10, terminus (ok), 10:34, 19/07/2010 [^] [^^] [^^^] [ответить]  
  • +/
    tag / untag / tagged ?
    Эти теги существуют только пока пакет в ядре - они не меняли состав заголовков пакета. Как только он виходит из системы теги теряются.
     

  • 1.11, weldpua2008 (ok), 12:46, 19/07/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Например, в асечном пакете можно изменять текст "я тебя люблю" на "иди в попу!!" =)

    а есть реально важные применения?

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2019 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру