阅读:1666回复:12
能在Dispatch例程中使用NdisMIndicatedReceivePacekts(向上指示数据包的调用)吗?用户被禁言,该主题自动屏蔽! |
|
沙发#
发布于:2003-06-17 13:01
不行,DISPATCH是用来处理来自APP的IRP的,你总不能上层来了一个IRP的包,再通知NDIS,现在你要NDISINDICATEPACKET了吧!,那时网卡上通过的包,已经有N个了
[编辑 - 6/19/03 by antspower] |
|
|
板凳#
发布于:2003-06-17 13:52
用户被禁言,该主题自动屏蔽! |
|
地板#
发布于:2003-06-17 16:17
你所说的这种框架效率太低,imd驱动要受制于用户态进程会产生瓶颈的。
估计你是要做防火墙,那么只要在驱动里定义一系列规则,过滤数据包时应用这些规则。然后用户态进程可以对这些规则进行设置 关于规则,你可以看一下天网,它的规则比较实用 |
|
地下室#
发布于:2003-06-17 17:23
谢谢你的回答,我是想通过IM驱动截获某类包(如HTTP请求包)后,通过共享内存传给应用程序,在得到应用程序的检查并允许其通过时,才上传这样的包,否则丢弃。我现在采用的方案是应用程序通过IOCTRL通知驱动,如果不行,那应用程序还能有什么别的方法呢?请指导呀!!!!! 如果是用过滤应用层的包的我话我决定用NDIS完全没有必要你用SPI都可以啊, 但如果一定要用的话IMD 的话也是可以的。你可以在核心里建立一个默认的过滤规则,应用层没有传数据过来时用默认规则过滤。当用户通过IOCONTROL传了数据过来时,用新的规则过滤。可以考虑设个TIMER,每过N分钟扫描一次BUFFER |
|
|
5楼#
发布于:2003-06-17 20:32
用户被禁言,该主题自动屏蔽! |
|
6楼#
发布于:2003-06-19 12:59
用户被禁言,该主题自动屏蔽! |
|
7楼#
发布于:2003-06-19 14:06
那你就干脆hook自己的协议好了 只在自己的协议发收包的时候转入你的派发函数。
|
|
|
8楼#
发布于:2003-06-19 19:49
用户被禁言,该主题自动屏蔽! |
|
9楼#
发布于:2003-06-20 13:06
用户被禁言,该主题自动屏蔽! |
|
10楼#
发布于:2003-06-22 12:05
能介绍一下处理方法吗?
|
|
|
11楼#
发布于:2003-06-22 21:59
用户被禁言,该主题自动屏蔽! |
|
12楼#
发布于:2003-06-23 14:02
用户被禁言,该主题自动屏蔽! |
|