Добрый день, Slesh, подскажите пожалуйста как можно передавать пакеты через ТСР соединение, но с определенного IP/порта (перед функцией connect() задать локальный хост/порт). При использовании функции bind() перед функцией connect() (началом ТСР сессии), пакеты с данными не отправляются через сокет (видно в нет мониторе). Хотя сама ТСР сессия ничем не отличается от обычной. Видимо функция bind() рассчитана только на входящие TCP и входящие/исходящие UDP соединения. Подскажите пожалуйста, может быть можно решить данную проблему каким-нибудь другим способом?
Это можно сделать было тока через сырые сокеты. Но увы последняя ОС из ряда Windows которая позволяла это делать - это была Windows 2000 На Xp и вышел толкьо использовать драйвер или WinPCap
Огромное спасибо. Уже три дня ищу инфу и все никак! А нельзя для winsock какой-нибудь функцией задать интерфейс или адаптер для отправки пакетов, для которого Апишник уже определен системой?
Может кто подскажет.. У меня такая задача - необходимо отправить данные с уже созданного в системе сокета. Т.е. есть некая клиентская программа.. когда она работает - получается же что в системе есть сокет - через который эта программа обменивается с сервером. У меня такие мысли - что тут получается не надо создавать в программе свой сокет - а надо как-то получить доступ к нужному уже созданному сокету и от него посылать то что мне нужно. Есть такой сниффер - WPEPro - он по сути это и делает, т.е. это вполне возможно. Мне только надо реализовать это самому)
Довольно непросто это реализовать. Примерный алгоритм: 1) Сначало нужно получить список всех сокетов в системе. Примеры кода можно найти в инете. 2) Скопировать нужный сокет в свой процесс при помощи DuplicateHandle. 3) Использовать сокет стандартным способом.