choday
驱动牛犊
驱动牛犊
  • 注册日期2007-08-03
  • 最后登录2009-09-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望28点
  • 贡献值0点
  • 好评度27点
  • 原创分0分
  • 专家分1分
阅读:1510回复: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的防火墙,其兼容性不好,在这个问题上我希望谁能给我一个详细的说法。
  不知大家对这三种方法有没有什么高见?

  我希望得到更多的相关防火墙信息,欢迎交流。
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
沙发#
发布于:2007-10-24 17:43
这种方法在vista下失效.vista下用ndis filter
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
lsxredrain
驱动中牛
驱动中牛
  • 注册日期2006-08-31
  • 最后登录2008-10-18
  • 粉丝1
  • 关注0
  • 积分540分
  • 威望421点
  • 贡献值1点
  • 好评度420点
  • 原创分4分
  • 专家分0分
板凳#
发布于:2007-10-24 19:29
NDIS HOOK
里面有办法取到ip地址吗?
如果只取到mac地址,在跨网段时,所有的目标物理地址都是路由器的地址
choday
驱动牛犊
驱动牛犊
  • 注册日期2007-08-03
  • 最后登录2009-09-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望28点
  • 贡献值0点
  • 好评度27点
  • 原创分0分
  • 专家分1分
地板#
发布于:2007-10-25 14:53
能的到IP
lsxredrain
驱动中牛
驱动中牛
  • 注册日期2006-08-31
  • 最后登录2008-10-18
  • 粉丝1
  • 关注0
  • 积分540分
  • 威望421点
  • 贡献值1点
  • 好评度420点
  • 原创分4分
  • 专家分0分
地下室#
发布于:2007-10-25 15:38
恩,那在passtru中也能取得ip吗?
GoodOnline
驱动小牛
驱动小牛
  • 注册日期2007-04-11
  • 最后登录2009-02-28
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望204点
  • 贡献值0点
  • 好评度191点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-10-30 07:49
tdi + method 2
punk
驱动小牛
驱动小牛
  • 注册日期2001-04-07
  • 最后登录2018-06-01
  • 粉丝0
  • 关注0
  • 积分621分
  • 威望164点
  • 贡献值0点
  • 好评度60点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-10-31 14:02
我装的vista 上 "ndis Sample NDIS 6.0 Filter Driver
filter"不工作。用它那个passthru倒是没问题
不停学习
游客

返回顶部