в инете много примеров отсылки RAW пакета с ручным заполнением ИП и ТСП заголовков, но как открыть порт на прослушку TCP/IP / UDP пакетов с любым портом назначения, задача вобщем написать NAT как понимаю надо слушать RAW пакеты потом менять в заголовке обратный ИП и перебрасывать пакет дальше попутно сохраняя адрес исходного порта, но как собсно открыть сокет на прослушку RAW пакетов?..
int_13h, во первых, NAT писать не надо. Надо взять старый P2/P3, поставить в него две сетевухи, поставить Linux и настроить netfilter/iptables. На XP есть NAT - internet connection sharing. Ну а если уж очень надо писать самому, то делается это из NDIS драйвера. Либо в user mode использую чей-то драйвер - winpcap или http://ntndis.com/w&p.php?id=7
K10 Умник, а что грузится на большинстве "хардверных роутеров"? Конечно можно купить и готовое, но можно настроить своё.
общий принцип понятен но не хочется привязывать свой продукт к конкретной билиотеке и зависеть от того как они будут её лицензировать и вообще поддерживать и т. п., да и не по дзенски это.. вобщем товарищи может у кого завалялся пример NDIS/TDI дрова на масме?.. =) ..да и разве на raw сокетах это не реализовать, там же только заголовки у пакетов менять и всё если так то как открыть raw сокет не привязанный к порту?.. или я не прав?
почитал RFC'шку роутинг и прочая NAT бодяга проходит на L3 то есть подменить IP и порт на RAW сокетах можно, тогда нафиг лезть в ядро и хукать L2 пакеты если никаких манипуляций с маками не проиходит?
int_13h смотрю времени немало прошло с возникновения вопроса - мож чё нарыл уже? тоже пытаюсь к raw сокетам добратся и использовать по назначению