您的位置:首页 > 其它

如何监视程序对文件系统的访问

2013-03-25 18:21 288 查看
偶尔我们会有这样的需要,想要知道某个程序,对文件系统做了哪些访问。读写了那些文件。

例如,部分程序不提供配置的导出功能,可是正常情况下,配置都是持久化在硬盘上,保留在本地的。如果我们能监视到,修改配置前后,某程序对磁盘中的那些文件进行了写操作,就能顺藤摸瓜找到他的配置文件,然后通过直接覆盖配置文件进行迁移配置的工作(假定这个程序的配置不做和用户名等挂钩的加密,也不放在注册表之类)

如果在window下,有FileRiver/Filemon这些工具,都很好用。

在Mac下稍微难找些,可以用FS_Spy(要钱的,虽然可以试用一段时间),然后也有个Filemon(http://deepit.ru/products/FileMon/dist/FileMon.zip 貌似是免费的,不过图标比较另类,不知道是不是个人作品,和windows下那个同名软件应该不是一个来源)。 前者相对好用些。

类Unix系统下,比如Mac的终端下,也可以使用fs_usage这个命令来看,比如 sudo fs_usage -f filesys 123 | grep xxx (123是程序的pid, xxx是要过滤出来显示的关键字)



不过用fs_usage命令的时候,要尤其注意要用ctrl+c(而不是ctrl+z)来结束,否则第二次运行的时候会提示已经有一个实例在运行了,如果遇到这样的情况,先在命令行top找出fs_usage的pid,然后kill(-3)之

通常如果用工具的话,大体都是类似的,要么是得事前设定好关键字,要么方便点,可以做事后的过滤。一般来说都得弄好过滤条件,不然基本会眼花缭乱看不清。

以用FileMon查找MacOS里XCode的快捷键保存位置为例:

1. 打开FileMon,会看到刷啦刷啦一堆,在Fiter中输入XCode回车,然后点个New Spy Session。就干净了。

2. 之后在XCode中操作添加一个新的快捷键配置文件。然后在FileMon中可以看到如下的图



就不难猜出路径了。如图选中的行。

3. 剩下的就是增增删删文件,开开关关XCode验证了。

P.S. windows下一些其他系统监视软件

1. windows注册表:Regmon

2. 网络:Proxifier
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐