...SOCKADDR_IN if0;
sniffsock = socket(AF_INET, SOCK_RAW, IPPROTO_IP);
and then call bind() with this raw socket:
bind(sniffsock, (SOCKADDR *)&if0, sizeof(if0));
we then go into Promiscuous mode and recieve all of the packets by calling WSAIoctl() with SIO_RCVALL set:
WSAIoctl(sniffsock...