что я делаю не так???
ловит пакеты приходящие
только ко мне
только репли на пинг
int main(int argc, char* argv[])
{
char *Buffer = new char;
SOCKET Sock;
HOSTENT* hostinfo;
SOCKADDR_IN Addr;
SOCKADDR_IN rAddr;
long flag = 1;
WSADATA WSAData;
if(WSAStartup(0x0101,&WSAData))
{
cout << "cannot init WSADATA\n";
_getch();
exit(0);
}
if ( (Sock = WSASocket (AF_INET, SOCK_RAW, IPPROTO_IP, NULL, 0,0)) == SOCKET_ERROR)
{
cout << "cocket errror\n";
}
ZeroMemory( &Addr, sizeof(Addr) );
Addr.sin_family = AF_INET;
Addr.sin_addr.s_addr = INADDR_ANY;
bind(Sock, (SOCKADDR *)&Addr, sizeof(SOCKADDR));
ioctlsocket(Sock, SIO_RCVALL, (unsigned long*)&flag);
IPHeader* hdr = new IPHeader;
while( !_kbhit() )
{
int count;
count = recv( Sock, Buffer, sizeof(Buffer), 0 );
if( count >= sizeof(IPHeader) )
{
hdr = (IPHeader *)Buffer;
.....
}
}
closesocket( Sock );
WSACleanup();
return 0;
}