Packet32学习笔记

一个网络抓包程序,在使用时需要包括packet32.h。利用Packet API函数直接操作网卡进行抓包、发包。非常实用。

首先了解几个基本的数据结构:

数据结构:_ADAPTER(关于Network Adapter的)

typedef struct _ADAPTER

{

HANDLE hFile;                      // 一个打开的NPF driver实例的句柄

CHARSymbolicLink[MAX_LINK_NAME_LENGTH];   // 当前打开的网卡的名字

int NumWrites;                 // 在这块Adapter上,一个数据包被写的次数:

HANDLE ReadEvent;           /* 这块Adapter上的read操作的通知事件。它可以被传递给标准Win32函数(如WaitForSingleObject或者WaitForMultipleObjects) ,这 样可以等待到                                                    driver的缓冲区内有数据到来。在同时等待几个事件的GUI程序中,它特别有用。在Windows2000/XP中, 函数PacketSetMinToCopy()可以用来                                                       设置内核缓冲区中激发本事件的最小数据大小:*/

UINT ReadTimeOut; // 设置一个时间,到时候,即使没有捕获任何包,read操作也会被释放,ReadEvent也会被触发:

} ADAPTER, *LPADAPTER;


数据结构:_PACKET(关于Packet的)

 typedef struct _PACKET

{

 HANDLE hEvent;   // 向后兼容用的:

 OVERLAPPED OverLapped;

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值