vbpcap常用的属性有:
属性名 描述 HWFilter 设置/返回网卡的工作模式,如果设置为混杂模式 PACKET_TYPE_PROMISCUOUS,抓取流经该网卡的所有包ReadTimeOut 设置/返回读数据包超时时间 BufferSize 设置/返回网卡缓冲器的大小 LinkSpeed 返回网卡的链接速率 LinkType 返回网卡的链接类型 PacketsDropped 返回漏包数PacketsReceived 返回捕获数据包数
|
vbpcap的常用方法:
1.GetAdapterNames (AdapterNamesStr as String) as Long,获取网卡名,调用该方法,把获取到的本机上的“网卡名列表”填入变量AdapterNameStr中,注意,AdapteName应被定义为长度固定的字符变量。如Dim AdapterNames As String * 1000
2.OpenAdapter(AdapterName as String) as Long ,打开网卡,其中AdapterName为获取网卡方法中传入的参数AdapterNameStr
3.AllocatePacket() as Long,为数据包分配空间
4.InitPacket(BufferSize as Long) as Long,设置和初始化vbpcap.dll内部使用的缓冲器
5.FreePacket(),清空vbpcap.dll内部缓冲器
6.StartCapture(),开始捕获
7.GetRawPacketData(ArrayOfBytes() as Bytes),获得原始数据包数据,把存放在Buffer中的数据包数据拷贝到数组ArrayOfBytes()中,该数组为byte类型。
8.StopCapture(),停止捕获
9.CloseAdapter(),关闭网卡
10.GetNetInfo(AdapterName as string,netIP as long,netMask as long),获取网卡的IP地址和子网掩码,AdapterName为通过GetAdapterNames方法返回的网卡名,netIP和netMask为存放网卡IP地址和子网掩码的变量,注意,这里的IP地址和子网掩码都是以long型数据来表示的。
vbpcap的常用事件:
vbpcap的事件只有一个,PacketReceived(numerofbytes As Long),该事件在接收到一个数据包时被触发,返回的参数为该数据包的字节数。
使用vbpcap编写数据包捕获程序的一般步骤:
1.建立一个vbpcap对象
2.打开网卡
3.获得网卡IP和掩码
4.通过HWFilter属性,设置网卡的工作模式
5.设置ReadTimeOut属性
6.分配空间
7.设置vbpcap.dll内部缓冲器的大小
8.设置网卡缓冲器的大小
9.开始捕获
10.在数据包捕获事件中,对捕获到的数据包进行处理。
阅读(2201) | 评论(1) | 转发(0) |