изменение ip-адреса и порта у исходящих\входящих пакетов

Тема в разделе "WASM.NETWORKS", создана пользователем RUStx88, 24 авг 2010.

  1. RUStx88

    RUStx88 New Member

    Публикаций:
    0
    Регистрация:
    22 июл 2010
    Сообщения:
    25
    привет всем
    у меня такая задача - нужно написать NDIS драйвер для перенаправления пакетов, т.е. у пакетов, идущих на определенный порт, нужно изменить адресат - ip-адрес и порт
    вот собственно в этом вся и проблема, гуглю уже неделю, ничего толкового и понятного не нашел, чтобы был нормальный пример - вот тут перехват исходящих\входящих пакетов, вот здесь смотрим заголовки пакетов, вот тут можем изменить адресат пакета, вот здесь можем уничтожить пакет или пропустить выше и т.д.

    кто может помочь куском кода, или ссылками на хороший источник, заранее спасибо
     
  2. make

    make New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2009
    Сообщения:
    59
    В WDK есть примеры. Что бы сразу все готовое это за $.
    Можно писать в юзерленде, если не критична скорость, тогда достаточно фреймворков Winpcap, winpkfilter.
     
  3. RUStx88

    RUStx88 New Member

    Публикаций:
    0
    Регистрация:
    22 июл 2010
    Сообщения:
    25
    примеры есть там есть, passthru, но там нету примера по изменению ip-адреса и порта, в сырцах не нашел этого

    и готовое мне не надо, я сам изучаю это, просто нуждаюсь в инфе, где бы это было доступно и в понятном виде объяснено
     
  4. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    RUStx88
    попробуйте начать с winpcap. Ловите пакеты в нем, изменяйте их и отсылайте опять в сеть.
    Ну и могу посоветовать статью на васме тут.
    А как поймете суть - начинайте изучать потихоньку программирование под ядро (если оно вам на тот момент еще нужно будет). Потом возьметесь писать ндис протокол фильтр.
     
  5. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    winpcap в основном предназначен для ловли пакетов. Для отправки там было только на уровне Ethernet и под виндой, сейчас правда уже не знаю как там. Опять таки только анализ, а не фильтрация.
     
  6. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    Booster
    Ну так правильно. Пусть ловит, и посылает. А отправлять можно на канальном уровне. Ну если бесит винда, можете юзать libpcap, Linux Packet сокеты или вообще BPF в FreeBSD. Даже проще будет.
     
  7. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    TermoSINteZ
    winpcap это не фильтр, а слушалка. Блокировать пакеты оно не умеет. NDIS драйвер или подобное тут лучше будет.
    Да и работать на канальном уровне для данной задачи совершенно не требуется.
     
  8. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    Booster
    От того что он слушалка - ТСу никак не помешает изучать принципы изменения пакетов, согласитесь ? За одно попробует написать фильтр - избирательно собирать пакеты. Зато потом эту концепцию перенесет в ядро. Иначе он будет париться с ндис драйвером (хотя достаточно взять сорцы фаервола на базе ндиса, на васме выкладывали кстати, на базе концепции ipfw) и при этом так и не дойти до своей цели.
     
  9. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    Вообще то winpcap есть механизмы именно для фильтрации. Правда насколькл они работают я не проверял.
     
  10. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    Pavia
    Фильтрация есть вы правы. Но она не блокирует пакеты. А просто избирательно выбирает их.
     
  11. mansurv

    mansurv New Member

    Публикаций:
    0
    Регистрация:
    19 авг 2009
    Сообщения:
    38
    Здесь http://ndis.com есть пара статей про доработку вдкашного passthru, на английском.