zoldat
驱动牛犊
驱动牛犊
  • 注册日期2003-04-24
  • 最后登录2003-10-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2169回复:12

用TDI Filter能否截获用NAT上网的机器的数据包?

楼主#
更多 发布于:2003-10-01 19:21
我们单位要我作一个监控本公司员工上网的工具,我现在不知道用NDIS Hook还是用TDI Filter来做(我是初学者)
有人说TDI Filter截的太高了,可是因为我需要解析HTTP、SMTP等协议的内容,用NDIS HOOK好像也不能做到。
望高手指点一个方向。
antspower
驱动中牛
驱动中牛
  • 注册日期2002-10-17
  • 最后登录2010-08-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-10-04 14:03
都可以做到。
用TDI完全可以的。TDI只是过滤不了ICMP/IGMP等INTERNT LAYER协议。
过滤应用层协议,还不如用PACKET
放弃瘟草,现吃李草
monkeyy
驱动中牛
驱动中牛
  • 注册日期2001-12-06
  • 最后登录2010-10-10
  • 粉丝0
  • 关注0
  • 积分315分
  • 威望84点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-10-07 12:32
NAT的必须要工作在数据链路层,不然内网的包在协议栈就会遭到处理的下场。所以如果你确定是NAT的包的话,估计你要做到NDIS才行了。
听说老虎会吃人,所以从没想过去摸老虎的屁股。:( :(
zoldat
驱动牛犊
驱动牛犊
  • 注册日期2003-04-24
  • 最后登录2003-10-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-10-08 00:33
我已经在写TDI Filter了,到底行不行,我不想花了大量时间精力却发现走错方向了。
我一向以为NDIS Hook技术不能用来分析HTTP SMTP等应用层协议。
哪位做过类似的工作,指点一下。
slwqw
驱动大牛
驱动大牛
  • 注册日期2002-07-18
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望197点
  • 贡献值0点
  • 好评度147点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-10-08 22:48
1、NAT在NDIS那一层就已经转发数据包了,根本没有到达TDI那一层,估计TDI Filter不会有什么作用。

2、我一向以为NDIS Hook技术不能用来分析HTTP SMTP等应用层协议。哪位做过类似的工作,指点一下。
==============================
你怎么以为,有什么根据?总不会是瞎猜吧?

HTTP使用80号端口,SMTP使用21号端口。在TDI Filter层判断HTTP、SMTP协议,不就是在截获TDI_CONNECT(这里只指TCP协议)时判断远程端口是否是80或者21吗?

判断远程端口的工作在NDIS层完全可以办到。唯一需要担心地就是在NDIS层可能会收到TCPIP.SYS发送给它的分片数据包。
zoldat
驱动牛犊
驱动牛犊
  • 注册日期2003-04-24
  • 最后登录2003-10-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-10-08 23:58
判断端口号当然可以,但是我需要搜索网页中的关键字,如果包含特定字符就不放行。发送邮件需要完全记录,也就是说要有完整的备份。
实现上述要求用NDIS HOOK技术可以实现吗?因为我只是粗粗的了解了一下,可能还有其他办法。
antspower
驱动中牛
驱动中牛
  • 注册日期2002-10-17
  • 最后登录2010-08-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-10-09 10:07
拦截邮件等完全可以在应用层做。SOCKET就可以轻松做到。
最好不要做到驱动里去。因为搜索关键字是很耗CPU的。
不想你系统性能严重下降的话,最好不要做驱动
放弃瘟草,现吃李草
mikeluo
驱动老牛
驱动老牛
  • 注册日期2001-09-04
  • 最后登录2007-05-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-10-09 12:38
拦截邮件等完全可以在应用层做。SOCKET就可以轻松做到。
最好不要做到驱动里去。因为搜索关键字是很耗CPU的。
不想你系统性能严重下降的话,最好不要做驱动


他是要在网关的机器上来判断吧?
学而不思则罔,思而不学则殆 学而思之,思而学之,岂非圣人乎?
zgm78
驱动牛犊
驱动牛犊
  • 注册日期2002-11-20
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分12分
  • 威望31点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-10-10 16:31
TDI绝对不行的,你的监控应
zoldat
驱动牛犊
驱动牛犊
  • 注册日期2003-04-24
  • 最后登录2003-10-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-10-10 18:52
的确是要装在NAT的服务器上,或者在NAT服务器前面再接一台专门用于过滤的。
我也感觉从NAT的原理来看TDI Filter好像截不到,可是我又不能单单封掉某个网站或者端口就完事了,NDIS HOOK技术能对数据包分析吗?而且E-MAIL备份只怕更加不行了吧。
monkeyy
驱动中牛
驱动中牛
  • 注册日期2001-12-06
  • 最后登录2010-10-10
  • 粉丝0
  • 关注0
  • 积分315分
  • 威望84点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-10-12 11:06
如果打算用TDI做为什么不能用NDIS来做呢,如果你要处理很多包的备份,那么在TDI里和在NDIS里面对系统性能的影响是一致的。TDI可以来分析包,NDIS为什么就不可以呢,所有的外面进入TDI的包都是NDIS交给它的,这不会带来分析上的问题呀。不解! ;) ;) ;) ;)
好运!
听说老虎会吃人,所以从没想过去摸老虎的屁股。:( :(
monkeyy
驱动中牛
驱动中牛
  • 注册日期2001-12-06
  • 最后登录2010-10-10
  • 粉丝0
  • 关注0
  • 积分315分
  • 威望84点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2003-10-12 11:10
antspower的话很有道理,如果在驱动里面需要分析应用层数据的话,会对系统的性能影响很严重的!如果是NAT的话,是否可以根据NAT列表来做,这样就可以减少很多分析量了! :P :P :P
听说老虎会吃人,所以从没想过去摸老虎的屁股。:( :(
rogerlong
驱动牛犊
驱动牛犊
  • 注册日期2007-03-01
  • 最后登录2008-02-18
  • 粉丝0
  • 关注0
  • 积分240分
  • 威望25点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2007-03-26 22:13
NDIS HOOK  的实现有谁成功过吗?
使用可以动态加载驱动的方式。
MSN: LXP8@SINA.COM
游客

返回顶部