birdtomaster
驱动牛犊
驱动牛犊
  • 注册日期2003-10-03
  • 最后登录2008-09-07
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1681回复:8

在NDIS中间层截获包后如何知道它要干什么?

楼主#
更多 发布于:2004-06-19 10:02
在NDIS中间层截获包后,分析得知其对应的本机接收端口仅仅知道是那个在接收,但是还是不知道具体内容是干什么的,比如我们知道是访问数据库的,能否分析出它包含了那些SQL语句或数据?如何分析?
birdtomaster
驱动牛犊
驱动牛犊
  • 注册日期2003-10-03
  • 最后登录2008-09-07
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-07-09 12:31
问题是分包组包就很麻烦
这样的应用也不知道你为什么考虑放在这里?
真有些郁闷

组包也应该不是太麻烦,有些网卡可以不组包,老式的也只需要调用一个函数就可以得到一个包的全部内容,关键是去掉所有头之后的净荷如何分析,这个我不懂。

[编辑 -  7/13/04 by  birdtomaster]
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-07-04 16:21
问题是分包组包就很麻烦
这样的应用也不知道你为什么考虑放在这里?
真有些郁闷
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
birdtomaster
驱动牛犊
驱动牛犊
  • 注册日期2003-10-03
  • 最后登录2008-09-07
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-07-03 22:00
谢谢回复,包组好了是应该比较好分析些
swift
驱动中牛
驱动中牛
  • 注册日期2001-07-26
  • 最后登录2007-05-09
  • 粉丝0
  • 关注0
  • 积分70分
  • 威望7点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-06-22 16:45
其实你要的这种功能,必须得分析应用层数据才行,当然如果分析应用层数据,在tdi,或者socket分析的时候比较容易,在ndis里比较困难。因为在应用层数据已经重组好了,但ndis层的数据并没有重组,要重组的工作量相当的大。

我没有这方面的经验,只是想这样比较好。

在ndis里对数据包进行重组比较困难,包含IP包的重组,应用层数据的重组。

两个月时间比较短,要做的完善并不容易,如果只是分析数据里的sql语句,得分析数据库的协议。
比如oracle用的是tns,还有一个,不太记得了,呵呵!

一个字:难。
birdtomaster
驱动牛犊
驱动牛犊
  • 注册日期2003-10-03
  • 最后登录2008-09-07
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-06-22 16:00
呵呵,要在NDIS里做这些东西过滤有点难,不是有点难,是非常难,可以考虑TDI!或者就是hook socket


我可能只有两个月时间,请问你在TDI或者是使用hook socket实现过类似的功能吗?谢谢
swift
驱动中牛
驱动中牛
  • 注册日期2001-07-26
  • 最后登录2007-05-09
  • 粉丝0
  • 关注0
  • 积分70分
  • 威望7点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-06-22 10:54
呵呵,要在NDIS里做这些东西过滤有点难,不是有点难,是非常难,可以考虑TDI!或者就是hook socket
birdtomaster
驱动牛犊
驱动牛犊
  • 注册日期2003-10-03
  • 最后登录2008-09-07
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-06-22 10:43
   我想不管是在应用层还是在中间层,应该能分析出包的具体内容才行,不知道有没有相关函数。
    就算没有通用的函数,可不可以知道具体的接收包的应用程序是怎么取得这些信息的,比如数据库系统总能知道是什么语句吧,不然操作什么呢,是不是实际的包的数据部分的结构是固定的可以通过这个结构你分析,但是如过是这样如何知道这个结构呢?能给点提示吗?

   如果能分析出具体内容,就可以屏蔽有害语句,甚至我们可以防止溢出攻击。
canoe982
驱动牛犊
驱动牛犊
  • 注册日期2003-04-11
  • 最后登录2005-12-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-06-19 16:08
原则上是可以的,我想,但并不容易。因为应用层的协议不想前面几层比较标准。
独怜幽草涧边生, 上有黄鹂深树鸣。 春潮带雨晚来急, 野渡无人舟自横。
游客

返回顶部