下你所需,载你所想!
汇集开发技术源码资料

用RawSocket捕获网卡,指定程序,指定端口,数据包

:66.938KB :1 :2020-12-17 13:18:54

部分简介

首先:1.使用 WSAStartup (合并短整数 (2, 2), WSADATA) 来初始化Winsocket服务 其参数有2个 第一个 (短整数型/双字节型):wVersionRequired 这个参数表明使用的winsock版本号,高位指定修订版本号,低位指定主版本号。第二个参数 WSADATA类型 用于接收Winsocket细节东西,咱不用管它。
//下面就不说那么详细了,源码里面全是注释,自己看。
2.然后使用socket (#AF_INET, #SOCK_RAW, #IPPROTO_IP) 来创建一个套接字 第一个参数应该是表明Internet地址格式反正只能固定这个,仅仅支持这个 参数2:表明要创建的是一个原始套接字,参数3:指定IPXY IPXY包括其子XY TCP UDP 等。成功返回套接字句柄
3. bind (s, addr, sizeof (addr)) 将套接字绑定至指定网卡,参数1=套接字句柄 参数2为一个addr结构的值,该值表明要绑定的网卡IP及端口号
4. ioctlsocket (Socket, 2550136833, 1) 将套接字的模式改变为允许接收所有数据
顺利完成上面的操作后咱就可以用Recv来接收数据包了,只要不断的调用Recv就OK。

热门推荐

相关文章