
28.11.2008, 15:33
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
Смотря для каких целей тебе нужны сырые сокеты. Потому что от различный назначений будет выбран метод написания.
1) Просто побалываться - WinPCap подойдет.
2) Если вредоносный софт - тот первый пункт отпадает.
3) Если чтото серьезное, то лучше в ядре.
Если требуется просто послать пакет без подмены адреса, то реализуется везде очень просто и не требует никаких дополнительных фишек.
Да и без подмены адреса отправителя довольно хорошо идет всё наобчном уровне
Если юзать из драйвера, то лучше забей. Гемор еще тот. Потому что если будешь использовать через NDIS(как это делает вроде WinPCap) то слишком много что учесть нужно, начиная от определения адаптера и заканчивая поиском адаптера через который осуществляется маршрутизация. Хотя большинство исходников есть в открытом доступе.
Если юзать TDI с его RawIp - то тут тоже не всё гладко. Создать сырой сокет легко. По аналогии с UDP сокетом. Но вот проблема - перевести его в режим позволяющий отправлять данные вместе с IP заголовком. Это вообще недокументровано. Исходников на эту тему нет ни в ReacOS ни Win2k. Короче гемор.
Также как вариант поищи в инете - есть проект драйвера который слал сырой пакет через NDIS в обход все[ запретов. Проект идет с исходником драйвера и юзермодной прогой. Всё довольно компактно и понятно. И не требует какойлибо мошной установки. Один из аналогов такого проекта
http://www.codeproject.com/KB/IP/sendrawpacket.aspx?display=Print
Последний раз редактировалось slesh; 28.11.2008 в 15:39..
|
|
|