choday
驱动牛犊
驱动牛犊
  • 注册日期2007-08-03
  • 最后登录2009-09-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望28点
  • 贡献值0点
  • 好评度27点
  • 原创分0分
  • 专家分1分
阅读:1518回复:6

说法求证——研究防火墙的请进

楼主#
更多 发布于:2007-10-24 16:51
我想求证以下说法,问题描述如下:

最近我在研究防火墙技术(XP),在研究其数据包拦截的方法时,我找到了以下几种方法:(基于NDIS)
1、注册一个协议,找到协议头,并遍历所有协议,找到TCP/IP协议,并HOOK修改其注册函数,RECV,SEND,从而可以拦截TCP数据包。
2、在passthru的基础之上开发,开发一中间层驱动,对数据进行拦截,
3、开发一NDIS.sys函数拦截驱动。原理是xfilter 2.1的原理。在系统重动,NDIS加载,然后就开始加载我们的驱动,我们的驱动就可以直接修改NDIS.sys中的输出函数,这样就可以作数据包的拦截。
  我不知道我在哪看到以下说法:
  第一种方法不好,因为他的兼容性不好,且容易被恢复。第一种方法也有他不好的地方,我在测试的时间发现,因为只HOOK了recv,send函数,只在先把本地连接停用,再启用的话,这个方法就失效了,
  第二种方法倒没听说有什么意见,我不知道可不可以用这种方法来做防火墙。
  第三种方法最好,原因是由于他修改了ndis.sys的输出表,把想关函数换成了自己的,这样想对于于上面的两种方法而言,是最不易突破的,最安全的。
  
  还有一种说法是,基于NDIS HOOK的防火墙,其兼容性不好,在这个问题上我希望谁能给我一个详细的说法。
  不知大家对这三种方法有没有什么高见?

  我希望得到更多的相关防火墙信息,欢迎交流。
choday
驱动牛犊
驱动牛犊
  • 注册日期2007-08-03
  • 最后登录2009-09-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望28点
  • 贡献值0点
  • 好评度27点
  • 原创分0分
  • 专家分1分
沙发#
发布于:2007-10-25 14:53
能的到IP
游客

返回顶部