• 4402阅读
  • 6回复

[提问]如何获取文件改变的详细信息????高手进!! [复制链接]

上一主题 下一主题
离线tyrantkemp
 
只看楼主 倒序阅读 楼主  发表于: 2013-03-18
现在要实现对U盘的操作审计 把对U盘内文件的读写删除新建拷贝操作都要记录下在审计日志里 win api里有个函数ReadDirectoryChangew能获取文件改变的详细信息 ,Qt中有木有这样的函数??????或者有什么别的方法??
qfilesystemwhatcher 貌似只能监控文件或目录是否改变 无法获得改变的信息······
离线tyrantkemp
只看该作者 1楼 发表于: 2013-03-18
求高手啊1········
离线ffii4455

只看该作者 2楼 发表于: 2013-03-18
那就用那个windowsAPI好了
离线tyrantkemp
只看该作者 3楼 发表于: 2013-03-19
回 2楼(ffii4455) 的帖子
但是这个超麻烦 关键还奥建立一个线程后台监控文件的改变 线程这块我又不熟····
离线ffii4455

只看该作者 4楼 发表于: 2013-03-19
Qt毕竟也是运行于操作系统之上的库,想得到其他程序对某个文件的读写,恐怕qt无法直接做到。。。。
离线begboy

只看该作者 5楼 发表于: 2013-03-21
回 楼主(tyrantkemp) 的帖子
我们曾在开发某一非现场审计项目运用过相关的技术,
因涉及内部保密原因,仅提供部分思路供开发参考。请见谅!
一、项目开发环境
操作系统:AIX;
开发语言:C;
二、思路核心
  UNIX下“万物皆文件”,目录也是,U盘也是,普通文件也是;
三、利用UNIX多用户安全机制,对需审计人员的登陆目录隔离和限定;
四、监控过程
1、获取每个登陆目录文件内容(可参看<dirent.h>),根据内容运用加密算法生成信息摘要,
我们当时使用了SHA和自己的加密算法混合。并将该唯一的信息摘要写到管理员指定的监控目录文件并进行加密。
2、对目录下每个文件重复操作1步骤。最终生成对应的审计人员监控文件。
五、采用select操作系统调用监控目录和目录下文件,对发生任何变化的动作写入监控文件(平衡好系统负载和反应性能)
六、提升该监控程序为超级用户并作为开机运行和后台方式运行避免出现被监控用户中断运行。
如果快速开发可使用现成的,可参考inotify,但我们因安全和版权问题自行开发,该系统目前运行良好。
仅供参考。
begboy
离线tyrantkemp
只看该作者 6楼 发表于: 2013-03-22
回 5楼(begboy) 的帖子
太复杂了 而且我是在windows下的 不过还是thanks
快速回复
限100 字节
 
上一个 下一个