Welcome

首页 / 软件开发 / C++ / 监听以太网(4) Packet32函数SDK

监听以太网(4) Packet32函数SDK2010-07-11Packet32包中的函数说明:

No.3. PacketSetHwFilter (设置过滤器)

设置一个hardware filter。比如,Filter参数传递NDIS_PACKET_TYPE_PROMISCUOUS,就可以设置网卡为混杂模式。

BOOLEAN PacketSetHwFilter(
LPADAPTER AdapterObject,
ULONG Filter
);

Parameters:

AdapterObject:

[in] 指向一个_ADAPTER结构的指针。

Filter:

[in] 过滤器的id。

Return Values:

如果执行成功,返回一个非零值。

Usage:

C/C++ Usage Sample

lpAdapter = PacketOpenAdapter(AdapterList[Open-1]);

PacketSetHwFilter(lpAdapter,NDIS_PACKET_TYPE_PROMISCUOUS);

Remarks:

过滤器定义在ntddndis.h中。下面是一些最常用的:

NDIS_PACKET_TYPE_PROMISCUOUS:设置混杂模式。网卡接收每一个Packet;

NDIS_PACKET_TYPE_DIRECTED;

NDIS_PACKET_TYPE_BROADCAST:只接收broadcast packets;

NDIS_PACKET_TYPE_MULTICAST:只接收multicast packets,而且本机网卡是接收组的一个成员;

NDIS_PACKET_TYPE_ALL_MULTICAST:所有multicast packets都接收;

NDIS_PACKET_TYPE_ALL_LOCAL:所有local packets。