阅读:1513回复:3
IMD 能否解析上层发下来的数据包?
http://bbs.zndev.com/read.php?tid=75207
中一楼 yongsheng0620 说“做imd的miniport驱动可以实现截获系统发出的IP包,但要在NDIS上做分析,很难” 看起来似乎难以在中间层解析上层发下来的包 而 http://bbs.zndev.com/read.php?tid=78045&fpage=&toread=&page=2 这里 第13楼 WY.lslrt 说“截获发送的数据包,应该中间层上层借口中截获。就是你说的那个函数。在中间加上你的过滤规则” 似乎又可以在中间层对系统发送的数据包进行解析 匹配过滤规则 中间层能否对系统发出的数据包进行解析,哪位大虾可以详细说明一下 我按以太包的格式解析接收的数据包,可以解析出来,发送的数据包 却怎么也不对 从传下来的包结构里 typedef struct _NDIS_PACKET { NDIS_PACKET_PRIVATE Private; union { struct { UCHAR MiniportReserved[2*sizeof(PVOID)]; UCHAR WrapperReserved[2*sizeof(PVOID)]; }; struct { UCHAR MiniportReservedEx[3*sizeof(PVOID)]; UCHAR WrapperReservedEx[sizeof(PVOID)]; }; struct { UCHAR MacReserved[4*sizeof(PVOID)]; }; }; ULONG_PTR Reserved[2]; UCHAR ProtocolReserved[1]; } NDIS_PACKET, *PNDIS_PACKET, **PPNDIS_PACKET; 没看出数据在哪啊 |
|
沙发#
发布于:2005-07-19 10:29
很显然是你的代码,有问题。找一段代码参考一下,可以搜搜以前的帖子
|
|
板凳#
发布于:2005-07-19 10:16
MSDN里说 Chained to each packet descriptor are one or more buffer descriptors mapping buffers that contain network packet data, either received or to be transmitted.
那直接 NdisGetFirstBufferFromPacket(,,,,) 取得第一个Buffer的地址,按数据包格式解析 怎么就机器重启呢? |
|
地板#
发布于:2005-07-18 11:22
当然可以解析,需要你先搞清楚NDIS_PACKET,NDIS_BUFFER的结构和关系
|
|