Packet32学习笔记

本文介绍了如何使用Packet32库在Windows系统下进行网络抓包和发包,涉及数据结构如_ADAPTER、_PACKET、_PACKET_OID_DATA等,并概述了基本的操作步骤,包括设置网卡参数、捕获数据包和统计信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个网络抓包程序,在使用时需要包括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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值