捕获数据包的程序设计

520wenwen 2005-04-28 03:13:26
#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;
}





不知道错在那里?谢谢了!!
...全文
111 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
kugou123 2005-04-28
  • 打赏
  • 举报
回复
用原始套接字实现网络监听
http://www.vckbase.com/document/viewdoc/?id=945
520wenwen 2005-04-28
  • 打赏
  • 举报
回复
自己顶一下。。
520wenwen 2005-04-28
  • 打赏
  • 举报
回复
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).

编译能过,但是不执行程序。。。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧