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

Discussion in 'WASM.NETWORKS' started by oDEColn, Jun 18, 2005.

  1. oDEColn

    oDEColn New Member

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

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

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

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



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

    TermoSINteZ Синоби даоса Staff Member

    Blog Posts:
    2
    Joined:
    Jun 11, 2004
    Messages:
    3,568
    Location:
    Russia
    :) да почитать рекомендую ДДК и "Программирование на аппаратном уровне" Кулаков

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

    SteelRat New Member

    Blog Posts:
    0
    Joined:
    Aug 26, 2004
    Messages:
    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

    Blog Posts:
    0
    Joined:
    Apr 17, 2005
    Messages:
    1,057
    Location:
    С планеты "Земля"
    Фаерволл должен защищать от атак снаружи, а изнутри его обойти (если вылез в ринг0) не составит труда. Причем пофиг, будет ли это TDI фильтр или драйвер непосредственно работающий с сетевухой. На каждую хитрую ж.. найтется свой болт.

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

    oDEColn New Member

    Blog Posts:
    0
    Joined:
    Jun 18, 2005
    Messages:
    4
    Что-то всё сложнее чем я думал,

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

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



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

    Saint German New Member

    Blog Posts:
    0
    Joined:
    Sep 13, 2003
    Messages:
    222
    SteelRat

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

    SteelRat New Member

    Blog Posts:
    0
    Joined:
    Aug 26, 2004
    Messages:
    409
    Saint German

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

    kaspersky New Member

    Blog Posts:
    0
    Joined:
    May 18, 2004
    Messages:
    3,006
    > Что-то всё сложнее чем я думал,

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

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

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

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

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

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

    oDEColn New Member

    Blog Posts:
    0
    Joined:
    Jun 18, 2005
    Messages:
    4




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

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



    kaspersky

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

    Broken Sword Robert

    Blog Posts:
    0
    Joined:
    Aug 30, 2002
    Messages:
    433
  11. kaspersky

    kaspersky New Member

    Blog Posts:
    0
    Joined:
    May 18, 2004
    Messages:
    3,006
    oDEColn

    \NTDDK\src\network\ndis\

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

    TermoSINteZ Синоби даоса Staff Member

    Blog Posts:
    2
    Joined:
    Jun 11, 2004
    Messages:
    3,568
    Location:
    Russia
    kaspersky

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



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

    n0name New Member

    Blog Posts:
    0
    Joined:
    Jun 5, 2004
    Messages:
    4,336
    Location:
    Russia
    Можно и через R3. Исходники Win2k довольно интересная вешь.
     
  14. SteelRat

    SteelRat New Member

    Blog Posts:
    0
    Joined:
    Aug 26, 2004
    Messages:
    409
    Broken Sword

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

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

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

    Broken Sword Robert

    Blog Posts:
    0
    Joined:
    Aug 30, 2002
    Messages:
    433
    SteelRat

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

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

    KiNDeR New Member

    Blog Posts:
    0
    Joined:
    Jun 13, 2003
    Messages:
    258
    Location:
    Russia
  17. SteelRat

    SteelRat New Member

    Blog Posts:
    0
    Joined:
    Aug 26, 2004
    Messages:
    409
    Смысл есть, но:



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

    KiNDeR New Member

    Blog Posts:
    0
    Joined:
    Jun 13, 2003
    Messages:
    258
    Location:
    Russia
    А твоя реализация будет находиться значительно ниже?

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

    SteelRat New Member

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

    Shmak New Member

    Blog Posts:
    0
    Joined:
    Aug 23, 2005
    Messages:
    3
    Location:
    Afghanistan
    У кого есть DDK для XP,нужна часть про драйверы сети(ndis,odi).

    alexandrvl_79@майл.ру