阅读:1491回复:4
请huyuguang版主,fracker及其它大老看过来:
我想用microsoft提供的ip filter hook功能在网关上实现对局域网用户http协议关键字的过滤,当我在调试时,发现上行的包有些收不到,不知道为啥?我知道用ndis hook最好,但那些小弟了解不深,不能盲从。而因为必须在网关上运行,ip包达不到tdi层仅到网络层已经被路由内外网中,不能采用tdi filter。
现有以下几点希望各位大老帮忙解疑: 1.这种想法是否可行? 2.当我上一个包还没处理完的时候,ms是否会把一个刚接收的包就不传给我的回调函数,直接传送到上层 或网外? 如有其他的好建议多多出ideal. 为啥我进能给20分? [编辑 - 10/14/02 by michaelg] |
|
沙发#
发布于:2002-10-15 09:36
因为IpFilter Hook依赖于IpFilterDriver,所以有它的一定的局限性,比如不能再NT以下的机器使用,也是因为它比较简单偶尔拿来用用,至于说有些包收不到,没有试过,无法给你建议。2000 DDK里面说回调函数只能靠几个返回值来决定他的其他动作,有些人说可以修改里面的内容,我有些怀疑,但也许可行,没有尝试过。在内核里面,当然要求处理的效率高了。
|
|
板凳#
发布于:2002-10-16 09:23
IpFilter Hook这个我用过。我德出的结论是:这个东西不能100%的收到数据包.....所以用来做点什么有一种不放心的感觉......
既然是网关,也就是一个ROUTER了,路由应该不会TDI层那么高级,我觉得应该是在IP层上进行的,所以我个人觉得在IP层上处理比较好些。。。这里有很多关于NDIS HOOK以及IM以及FAKE PROTOCOL的讨论和例子,弄几个回去好好看看。。。最好搜索一下这里相关的资料,仔细研究一下。。。 :mad: :mad: :mad: |
|
|
地板#
发布于:2002-10-16 15:18
如果你的网关是NAT的话,那就只用在ip层处理就好了
如果是APG类型的http proxy,那就在tcp层处理。 个人觉得,这个功能与其在驱动里面完成,不如放到应用程序里面 |
|
地下室#
发布于:2002-10-17 10:39
如果你的网关是NAT的话,那就只用在ip层处理就好了 对于你的第一条建议非常赞同,但既然在网关上运行,应用层协议的过滤ip包就不能到应用层。也就实现不了包过滤 |
|