#pragma comment (lib,"Ws2_32.lib")
#include<winsock2.h>
#include <Ws2tcpip.h> 
#include<stdio.h>
#define SIO_RCVALL _WSAIOW(IOC_VENDOR,1)//0x80000000|0x18000000|0x00000001
int main(void )
{
SOCKET SnifferSocket;
WSADATA wsaData;
int iFlag=WSAStartup(MAKEWORD(2,0),&wsaData);           
struct sockaddr_in sa;char receive[1024]={0};SnifferSocket = socket(AF_INET,SOCK_RAW,IPPROTO_IP);
sa.sin_family = AF_INET;
sa.sin_port = htons(7000);
sa.sin_addr.s_addr=INADDR_ANY;//inet_addr(10.0.0.66);
bind(SnifferSocket,(struct sockaddr *)&sa, sizeof(sa)) ;DWORD dwBufferLen[10] ;
DWORD dwBufferInLen = 1 ;
DWORD dwBytesReturned = 0 ;WSAIoctl(
SnifferSocket,//套接字的描述符; 
SIO_RCVALL,//待执行操作的控制代码,这里为SO_SSL_SET_VALIDATE_CERT_HOOK,表示将指针设置为证书验证指令; 
&dwBufferInLen, //是一个指向输入缓冲区的指针; 
sizeof(dwBufferInLen),//输入缓冲区大小; 
&dwBufferLen, //指向输出缓冲区的指针; 
sizeof(dwBufferLen),//输出缓冲区大小;
&dwBytesReturned ,//指向真实的输出字节的数值; 
NULL , NULL //这里必须为NULL
);
memset(receive,0,1024);recv( SnifferSocket, receive, sizeof(receive) , 0 ) ;
for(int i=0;i<1024;i++)
printf("%x",receive[i]);
closesocket(SnifferSocket);
WSACleanup();
return 0;
} 不知道错在那里?谢谢了!!

解决方案 »

  1.   

    Loaded 'ntdll.dll', no matching symbolic information found.
    Loaded 'C:\WINDOWS\system32\kernel32.dll', no matching symbolic information found.
    Loaded 'C:\WINDOWS\system32\ws2_32.dll', no matching symbolic information found.
    Loaded 'C:\WINDOWS\system32\msvcrt.dll', no matching symbolic information found.
    Loaded 'C:\WINDOWS\system32\ws2help.dll', no matching symbolic information found.
    Loaded 'C:\WINDOWS\system32\advapi32.dll', no matching symbolic information found.
    Loaded 'C:\WINDOWS\system32\rpcrt4.dll', no matching symbolic information found.
    Loaded 'C:\WINDOWS\system32\mswsock.dll', no matching symbolic information found.
    Loaded 'C:\WINDOWS\system32\hnetcfg.dll', no matching symbolic information found.
    Loaded 'C:\WINDOWS\system32\gdi32.dll', no matching symbolic information found.
    Loaded 'C:\WINDOWS\system32\user32.dll', no matching symbolic information found.
    Loaded 'C:\WINDOWS\system32\imm32.dll', no matching symbolic information found.
    Loaded 'C:\WINDOWS\system32\lpk.dll', no matching symbolic information found.
    Loaded 'C:\WINDOWS\system32\usp10.dll', no matching symbolic information found.
    Loaded 'C:\WINDOWS\system32\wshtcpip.dll', no matching symbolic information found.
    The thread 0xC6C has exited with code -1073741510 (0xC000013A).
    The thread 0x9B0 has exited with code -1073741510 (0xC000013A).
    The program 'C:\Documents and Settings\fengzhizi\桌面\Debug\Cpp1.exe' has exited with code -1073741510 (0xC000013A).编译能过,但是不执行程序
      

  2.   

    用原始套接字实现网络监听
    http://www.vckbase.com/document/viewdoc/?id=945