Создать эту тему меня заставило практически полное отсутствие (по крайней мере на русском) документации по сетевому программированию без использования сокетов. Я имею в виду общение напрямую с железом (или с драйвером?) сетевухи, будь то WinSock или ещё что... Здесь я хотел бы видеть след. сообщения: + программная модель сетевухи, т.е. какие порты в пространстве ввода-вывода принадлежат ей, для чего предназначен каждый, и т.п. + ссылки на доки по тематике P.S. Я слышал, что современные виндовые фаерволлы, не умеют отслеживать пакеты созданные не винсоком, так что тема довольно актуальна.
да почитать рекомендую ДДК и "Программирование на аппаратном уровне" Кулаков А на счет фаерволов ) Ты неправ . Там есть баги но не в "не винсокетных" пакетах.
oDEColn Хороший пример это Agnitum Он использует виндузовый ipfilter, а в DDK черным по белому написано, что юзать его не рекомендуется... Если есть (а я думаю есть) возможность "засохатить" ipfilter, то и Agnitum отвалится Kerio просто не видит некоторые пакеты (слишком "высоко сидит"), это уже мои исследования, как раз сейчас пишу аналог ipfw от FreeBSD. Так, что тут для приложения своих мыслей целый полигон... Если хочешь заняться FW делай это через NDIS, как это трудно не покажется и не трогай сетевуху, т.к. они могут быть разными. Свой драйвер распологай как можно ниже по стэку На счет литературы... Ну как всегда рекомендую начать с мануалов Four-F. А по сетевому программированию, к сожалению на русском только мелкие кусочки из которых ничего толкового не собрать Сходи на сайт "Весельчак У" там начали статьи про NDIS, но забросили и то, толком ничего нет. Так, что читай DDK, компиляй примеры... Возьми книгу Солдатова "Программирование драйверов Windows"
Фаерволл должен защищать от атак снаружи, а изнутри его обойти (если вылез в ринг0) не составит труда. Причем пофиг, будет ли это TDI фильтр или драйвер непосредственно работающий с сетевухой. На каждую хитрую ж.. найтется свой болт. Фаеров которые трудно обойти в ринг0 я пока еще не встречал, а большинство и без ринг0 прекрасно обходятся (см. FireFuck).
Что-то всё сложнее чем я думал, я расчитывал поставить тулзу, которая откроет доступ к и/о портам записать в них определённые заначения, и наслаждатся работой с сетевухой, примерно как это происходит при работе с таймером (это мой единственный опыт работы с железом через асм), или всё же в этих расуждениях есть доля правды? P.S. если кто знает киньте ссылку на книгу Кулакова (выше), а то я не смог найти
Saint German Потому, что после установки AO он запускается в автомате и остановить ipfilter не возможно. Скорее он его просто хукает, или ещё каким-то образом "садится" сверху. После удаления AO ipfilter останавливается И им можно пользоваться...
> Что-то всё сложнее чем я думал, > я расчитывал поставить тулзу, которая откроет доступ к > и/о портам записать в них определённые заначения доступ к портам открыть не сложно даже с прикладного уровня, только вот реализовать свой стек TCP/IP задача весьма нетривиальная, да что там стек! даже с сырыми сокетами удается разобраться не всем!
я занимаюсь этим из интереса, мне не нужны протоколы, просто на одной машине стоит такая прога, отправляет по сети такие пакеты (а пакеты ли это будут ?), другая соотв. принимает их, отличая по некоторой сигнатуре причём эта другая не ювляется, компом, просто по некоторым причинам мне приходится использовать сетевой интерфейс(не над спрашивать зачем, долго объяснять) да и просто спортивный интерес разыгрался, как всё реализовано, хотяб тот же стек протоколов tcp/ip kaspersky не могли бы вы меня "ткнуть носом" с какие нибудь доки по этой теме, или хотяб назвать номера портов, чтоб я их сам "тыкал", но уже не носом...
kaspersky Просто пероначально вопрос был поставлен про программная модель сетевухи, т.е. какие порты в пространстве ввода-вывода принадлежат ей, для чего предназначен каждый, и т.п. вот я и сказал Кулакова ибо там про NE2000 очень хорошо описано и даже примеры есть .
Broken Sword Вы мне льстите ещё не дошёл. 1. Там исходники на Це, а у меня чистый АSМ 2. Автор наступил на грабли, используя ipfilter
а про это: http://sourceforge.net/projects/wipfw кто что может сказать? есть ли смысл ей пользоваться?
В моём драйвере ничего сложного, взят обычный пример passthru из DDK, переведен на ASM с удалением ошибок и лишнего кода (размер в 2 раза меньше), сейчас довожу до ума работу с 2-мя и более картами и дропанье пакетов... (дропать пока могу всё или ничего, даже ARP пакеты) А уровень в стэке сам админ будет рулить Но до релиза далеко