使用 RawSocket 捕获网卡/指定程序/指定端口/指定IP 数据包 易语言源码
本文将介绍如何使用RawSocket(原始套接字)开发网络嗅探器:首先我们要了解什么是socket。这个我就不多说了。百度和百度百科都比我解释得清楚。
那么什么是原始套接字?常用的套接字分为SOCK_STREAM(流套接字)用于TCPXY通信。 SOCK_DGRAM(数据报套接字)与UDPXY通信相同。
原来如此,和原来socket的名字一样;例如:如果你想使用流套接字发送TCP数据包,那么直接连接对方的服务器然后使用Send发送指定的内容,但实际上发送的数据并不限于你的内容,还有流套接字会自动为您填充一些内容。 TCP是IPXY的子XY,因此要发送TCP数据包,必须添加(更不用说以太网XY头)、IPXY头、TCPXY头。流套接字将为您处理这些。原来的socket不会(当然你也可以设置原来的socket来构造IP头)。原始套接字有更多用途,但相对流套接字或数据报套接字来说更麻烦。原始套接字还可以配置为允许接收所有本地套接字数据。那我们就利用这个函数来制作一个嗅探器吧!
第一: 1.使用WSAStartup(组合短整数(2, 2),WSADATA)来初始化Winsocket服务。它的参数有2个第一个(短整数类型/双字节类型):wVersionRequired。该参数表示使用的winsock版本号。 ,高位指定修订号,低位指定主版本号。第二个参数WSADATA类型用于接收Winsocket详细信息,我们不需要担心它。
页:
[1]