vacuity
驱动牛犊
驱动牛犊
  • 注册日期2003-03-18
  • 最后登录2003-07-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2325回复:12

关于NDIS Hook的问题

楼主#
更多 发布于:2003-07-12 17:47
我想在网关拦截内网的数据包,用NDIS Hook可以实现吗?
我想通过判断IP地址(内网)来过滤部分内网机子的数据包。
局域网的出口带宽为10-30M,内网有1200台机子,在运行过滤程序时对网络性能的影响有多大?
这个程序实际是计费软件的一部分,我想让没有成功登录的用户不能访问外网。请问实现这个目的,都有什么方法呀?
谢谢
willyangmiao
驱动牛犊
驱动牛犊
  • 注册日期2003-06-20
  • 最后登录2005-08-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-07-12 23:47
http://driverdevelop.com/forum/post.php?action=reply&fid=10&tid=46199
willyangmiao
驱动牛犊
驱动牛犊
  • 注册日期2003-06-20
  • 最后登录2005-08-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-07-12 23:47
可以的。

转发数据无非先是进入数据, 到IP层路由后, 作为外出数据发出。
与本机数据的过滤没什么大的区别。

奔腾500的机子就应没问题了!
vacuity
驱动牛犊
驱动牛犊
  • 注册日期2003-03-18
  • 最后登录2003-07-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-07-13 08:27
可以的。

转发数据无非先是进入数据, 到IP层路由后, 作为外出数据发出。
与本机数据的过滤没什么大的区别。

奔腾500的机子就应没问题了!



我觉得在网关,内网和外网的路由在底层完成的。
Win2000的IpFilterDriver是哪一层?
我以前是用Winsock2 SPI来做的,但做完后发现程序只能拦截本机和外网的数据包,内网的数据包可以任意通过。SPI是在应用层吧,我觉得内网的数据包可能到不了这一层。
所以我又改用NDIS,因为它比SPI更底层。Hook比IM容易,所以就选了Hook,但不知道应用于网关是否可行。
willyangmiao
驱动牛犊
驱动牛犊
  • 注册日期2003-06-20
  • 最后登录2005-08-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-07-14 09:18
IpFilterDriver 是在IP 层, 可能 行的。

SPI 是 不行的。

NDIS HOOk 用的正确的话, 应该可以的。
Ralfy
驱动牛犊
驱动牛犊
  • 注册日期2003-01-22
  • 最后登录2013-06-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-07-15 08:41
我使用Ndis Hook的情况是,除了sygate,其他的winRoute,ics,isa Server等等都可以,举例说,网关上安装了sygate和费尔防火墙,选择过滤所有包,工作站仍然能上网,但包内容是可以得到的,通过softice输出都是全的。
这不知道是不是Ndis Hook的原因,费尔给的解释比较模糊,他们只说这是为何费尔防火墙称为个人防火墙的原因。
还是用passthru比较好,但有个问题,如对工作站上网后接收的包,如网页内容,无法确定这个包是哪个IP的,因为还没有经过Nat,内部IP都是网关机上外网的IP。
willyangmiao
驱动牛犊
驱动牛犊
  • 注册日期2003-06-20
  • 最后登录2005-08-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-07-15 09:41
> 费尔给的解释比较模糊,他们只说这是为何费尔防火墙称为个人防> 火墙的原因。
原因是费尔的技术不是能 抓住转发包。

>PASSTHRU有个问题,如对工作站上网后接收的包,如网页内容,无
>法确定这个包是哪个IP的,因为还没有经过Nat,内部IP都是网>关机上外网的IP。
应该修改PASSTHRU, 让他 在 NAT 之后抓包。

之外,你的NDIS HOOK 用在网关吗? 与sygate 有什麽关系?





vacuity
驱动牛犊
驱动牛犊
  • 注册日期2003-03-18
  • 最后登录2003-07-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-07-15 13:38
我觉得从防火墙的原理角度来说,个人防火墙和网关防火墙好像不同,要不然价格也不会差那么多。
我知道passthru比hook好,但那个好像很难,我想以比较容易的方法实现所需的功能。
当初走SPI的路,没有走通。现在正走hook,我想知道hook能否实现我要的功能,如果不行,那只能再想别的办法。
Ralfy
驱动牛犊
驱动牛犊
  • 注册日期2003-01-22
  • 最后登录2013-06-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-07-16 08:16
>>原因是费尔的技术不是能 抓住转发包。
费尔用的是Ndis Hook的,能抓住包,但无法过滤(仅限于sygate)

>>应该修改PASSTHRU, 让他 在 NAT 之后抓包。
现在的问题是对于工作站出去的包,抓住的是nat前的,所以包含工作站IP的,而进来的包,抓住的也是nat前的,是不包含工作站IP的,那如果一改的话,原来的出包的源IP不是又抓不住了吗?
不过还是想请教一下,如何修改PASSTHRU, 让他在NAT之后抓包?:)

>>之外,你的NDIS HOOK 用在网关吗? 与sygate 有什麽关系?
一样用的Ndis Hook用在网关,对于winroute,ics,isa server使用起来都没有问题,但sygate就是不行。。。





 [/quote]

[编辑 -  7/16/03 by  Ralfy]
vacuity
驱动牛犊
驱动牛犊
  • 注册日期2003-03-18
  • 最后登录2003-07-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-07-22 10:37
我那的网关没有采用上面说的任何一种说法。如果采用Hook,是否应该考虑转发问题,是采用win2000的默认路由,还是自己实现转发功能。
vacuity
驱动牛犊
驱动牛犊
  • 注册日期2003-03-18
  • 最后登录2003-07-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-07-24 19:21
我用net start filthook启动服务,但总显示“系统找不到指定的文件”?
我在注册表中已经添加了项:
ImagePath  REG_SZ  System32\\Drivers\\filthook.sys
在相应的目录里也有这个文件,为什么不成呢?
Ralfy
驱动牛犊
驱动牛犊
  • 注册日期2003-01-22
  • 最后登录2013-06-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2003-08-01 08:03
>ImagePath REG_SZ System32\\Drivers\\filthook.sys
应该用REG_EXPAND_SZ
另外,
\"Type\"=dword:00000001
\"Start\"=dword:00000003
以这种类型启动的驱动好像是一启动就已经start了,我试过换其他类型的启动方式,不过不行.
nrsfj
驱动牛犊
驱动牛犊
  • 注册日期2003-05-30
  • 最后登录2003-08-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2003-08-04 11:00
ndis hook当然可以!
运行gateway的机器有2快卡(内网、外网),ndis hook可以抓到2快卡的所有内容,你根本就不用关心外网卡,只关心内网就可以即当捕获的包在A、B、C网段时说明是内网的,你这时可以从容过滤
游客

返回顶部