СуперНизкоУровневое сетевое программирование

Тема в разделе "WASM.NETWORKS", создана пользователем oDEColn, 18 июн 2005.

  1. oDEColn

    oDEColn New Member

    Публикаций:
    0
    Регистрация:
    18 июн 2005
    Сообщения:
    4
    Создать эту тему меня заставило практически полное отсутствие (по крайней мере на русском) документации по сетевому программированию без использования сокетов. Я имею в виду общение напрямую с железом (или с драйвером?) сетевухи, будь то WinSock или ещё что...

    Здесь я хотел бы видеть след. сообщения:

    + программная модель сетевухи, т.е. какие порты в пространстве ввода-вывода принадлежат ей, для чего предназначен каждый, и т.п.

    + ссылки на доки по тематике



    P.S. Я слышал, что современные виндовые фаерволлы, не умеют отслеживать пакеты созданные не винсоком, так что тема довольно актуальна.
     
  2. TermoSINteZ

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

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.553
    Адрес:
    Russia
    :) да почитать рекомендую ДДК и "Программирование на аппаратном уровне" Кулаков

    А на счет фаерволов ) Ты неправ . Там есть баги но не в "не винсокетных" пакетах.
     
  3. SteelRat

    SteelRat New Member

    Публикаций:
    0
    Регистрация:
    26 авг 2004
    Сообщения:
    409
    oDEColn



    Хороший пример это Agnitum :) Он использует виндузовый ipfilter, а в DDK черным по белому написано, что юзать его не рекомендуется... Если есть (а я думаю есть) возможность "засохатить" ipfilter, то и Agnitum отвалится :) Kerio просто не видит некоторые пакеты (слишком "высоко сидит"), это уже мои исследования, как раз сейчас пишу аналог ipfw от FreeBSD. Так, что тут для приложения своих мыслей целый полигон...

    Если хочешь заняться FW делай это через NDIS, как это трудно не покажется и не трогай сетевуху, т.к. они могут быть разными. Свой драйвер распологай как можно ниже по стэку :)

    На счет литературы... Ну как всегда рекомендую начать с мануалов Four-F. А по сетевому программированию, к сожалению на русском только мелкие кусочки из которых ничего толкового не собрать :dntknw: Сходи на сайт "Весельчак У" там начали статьи про NDIS, но забросили :dntknw: и то, толком ничего нет. Так, что читай DDK, компиляй примеры... Возьми книгу Солдатова "Программирование драйверов Windows"
     
  4. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"
    Фаерволл должен защищать от атак снаружи, а изнутри его обойти (если вылез в ринг0) не составит труда. Причем пофиг, будет ли это TDI фильтр или драйвер непосредственно работающий с сетевухой. На каждую хитрую ж.. найтется свой болт.

    Фаеров которые трудно обойти в ринг0 я пока еще не встречал, а большинство и без ринг0 прекрасно обходятся (см. FireFuck).
     
  5. oDEColn

    oDEColn New Member

    Публикаций:
    0
    Регистрация:
    18 июн 2005
    Сообщения:
    4
    Что-то всё сложнее чем я думал,

    я расчитывал поставить тулзу, которая откроет доступ к и/о портам записать в них определённые заначения, и наслаждатся работой с сетевухой, примерно как это происходит при работе с таймером (это мой единственный опыт работы с железом через асм),

    или всё же в этих расуждениях есть доля правды?



    P.S. если кто знает киньте ссылку на книгу Кулакова (выше), а то я не смог найти :dntknw:
     
  6. Saint German

    Saint German New Member

    Публикаций:
    0
    Регистрация:
    13 сен 2003
    Сообщения:
    222
    SteelRat

    с чего ты взял, что outpost использует ipfilter?
     
  7. SteelRat

    SteelRat New Member

    Публикаций:
    0
    Регистрация:
    26 авг 2004
    Сообщения:
    409
    Saint German

    Потому, что после установки AO он запускается в автомате и остановить ipfilter не возможно. Скорее он его просто хукает, или ещё каким-то образом "садится" сверху. После удаления AO ipfilter останавливается :) И им можно пользоваться...
     
  8. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    > Что-то всё сложнее чем я думал,

    > я расчитывал поставить тулзу, которая откроет доступ к

    > и/о портам записать в них определённые заначения

    доступ к портам открыть не сложно даже с прикладного уровня,

    только вот реализовать свой стек TCP/IP задача весьма

    нетривиальная, да что там стек! даже с сырыми

    сокетами удается разобраться не всем!
     
  9. oDEColn

    oDEColn New Member

    Публикаций:
    0
    Регистрация:
    18 июн 2005
    Сообщения:
    4




    я занимаюсь этим из интереса, мне не нужны протоколы, просто на одной машине стоит такая прога, отправляет по сети такие пакеты (а пакеты ли это будут ?), другая соотв. принимает их, отличая по некоторой сигнатуре

    причём эта другая не ювляется, компом, просто по некоторым причинам мне приходится использовать сетевой интерфейс(не над спрашивать зачем, долго объяснять) да и просто спортивный интерес разыгрался, как всё реализовано, хотяб тот же стек протоколов tcp/ip



    kaspersky

    не могли бы вы меня "ткнуть носом" с какие нибудь доки по этой теме, или хотяб назвать номера портов, чтоб я их сам "тыкал", но уже не носом...
     
  10. Broken Sword

    Broken Sword Robert

    Публикаций:
    0
    Регистрация:
    30 авг 2002
    Сообщения:
    433
    SteelRat,





    так это - http://sourceforge.net/projects/wipfw твое?
     
  11. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    oDEColn

    \NTDDK\src\network\ndis\

    там примеры драйверов под разные карты
     
  12. TermoSINteZ

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

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.553
    Адрес:
    Russia
    kaspersky

    Просто пероначально вопрос был поставлен про программная модель сетевухи, т.е. какие порты в пространстве ввода-вывода принадлежат ей, для чего предназначен каждый, и т.п.



    вот я и сказал Кулакова ибо там про NE2000 очень хорошо описано и даже примеры есть .
     
  13. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Можно и через R3. Исходники Win2k довольно интересная вешь.
     
  14. SteelRat

    SteelRat New Member

    Публикаций:
    0
    Регистрация:
    26 авг 2004
    Сообщения:
    409
    Broken Sword

    Вы мне льстите :) ещё не дошёл.

    1. Там исходники на Це, а у меня чистый АSМ

    2. Автор наступил на грабли, используя ipfilter
     
  15. Broken Sword

    Broken Sword Robert

    Публикаций:
    0
    Регистрация:
    30 авг 2002
    Сообщения:
    433
    SteelRat

    Вам все льстят :)

    Надеюсь, выложишь где-нить по окончании работ, уж больно интересно
     
  16. KiNDeR

    KiNDeR New Member

    Публикаций:
    0
    Регистрация:
    13 июн 2003
    Сообщения:
    258
    Адрес:
    Russia
  17. SteelRat

    SteelRat New Member

    Публикаций:
    0
    Регистрация:
    26 авг 2004
    Сообщения:
    409
    Смысл есть, но:



    Исходя из DDK, он находится слишком высоко в стэке :)
     
  18. KiNDeR

    KiNDeR New Member

    Публикаций:
    0
    Регистрация:
    13 июн 2003
    Сообщения:
    258
    Адрес:
    Russia
    А твоя реализация будет находиться значительно ниже?

    В какой период ожидать релиза?
     
  19. SteelRat

    SteelRat New Member

    Публикаций:
    0
    Регистрация:
    26 авг 2004
    Сообщения:
    409
    В моём драйвере ничего сложного, взят обычный пример passthru из DDK, переведен на ASM с удалением ошибок и лишнего кода (размер в 2 раза меньше), сейчас довожу до ума работу с 2-мя и более картами и дропанье пакетов... (дропать пока могу всё или ничего, даже ARP пакеты) А уровень в стэке сам админ будет рулить :) Но до релиза далеко :)
     
  20. Shmak

    Shmak New Member

    Публикаций:
    0
    Регистрация:
    23 авг 2005
    Сообщения:
    3
    Адрес:
    Afghanistan
    У кого есть DDK для XP,нужна часть про драйверы сети(ndis,odi).

    alexandrvl_79@майл.ру