Process Monitor是一个高级的Windows监视工具,不但可以监视进程/线程,还可以关注到文件系统,注册表的变化.它包含2个Sysinternals遗留组件:Filemon 和 Regmon,并添加了大量功能,有兴趣的可以去再关注一下.
【软件介绍】
Process Monitor一款系统进程监视软件,总体来说,Process Monitor相当于Filemon+Regmon,其中的Filemon专门用来监视系统 中的任何文件操作过程,而Regmon用来监视注册表的读写操作过程。 有了Process Monitor,使用者就可以对系统中的任何文件和 注册表操作同时进行监视和记录,通过注册表和文件读写的变化, 对于帮助诊断系统故障或是发现恶意软件、病毒或木马来说,非常 有用。 这是一个高级的 Windows 系统和应用程序监视工具,由优秀的 Sysinternals 开发,并且目前已并入微软旗下,可靠性自不用说。
【软件功能】
1、监视进程和线程的启动和退出,包括退出状态代码;
2、监视映像 (DLL 和内核模式驱动程序) 加载;
3、捕获更多输入输出参数操作;
4、非破坏性的过滤器允许你自行定义而不会丢失任何捕获的数据;
5、捕获每一个线程操作的堆栈,使得可以在许多情况下识别一个操作的根源;
6、可靠捕获进程详细信息,包括映像路径、命令行、完整性、用户和会话ID等等;
7、完全可以自定义任何事件的属性列;
8、过滤器可以设置为任何数据条件,包括未在当前视图中显示的条件;
9、高级的日志机制,可记录上千万的事件,数GB的日志数据;
10、进程树工具显示所有进程的关系;
11、原生的日志格式,可将所有数据信息保存,让另一个 Process Monitor 实例加载;
【软件特色】
捕获操作的输入和输出参数的更多数据
非破坏性过滤器,允许您设置过滤器而不会丢失数据
捕获每个操作的线程堆栈,在许多情况下它可以找出一个操作的根源
可靠捕获进程的详细信息,包括映像路径、命令行、用户和会话 ID
任何事件属性的可配置和可移动列
可将过滤器设置为任何数据字段,包括未配置为列的字段
高级日志记录架构,扩展到数以百万计的捕获事件和千兆字节的日志数据
进程树工具显示在跟踪中引用的所有进程的关系
本机日志格式保存,在不同的 Process Monitor 实例中加载的所有数据
进程工具提示,方便查看进程映像信息
详细信息工具提示,允许方便地访问不适合的列数据格式
可取消搜索
所有操作的启动时间日志
【使用教程】
安装
1、从本网站下载Process Monitor软件包,将压缩包直接解压。
注:解压压缩包需要使用
压缩解压工具,推荐使用WinRAR,技术成熟可靠。WinRAR下载地址:http://www.onlinedown.net/softdown/5.htm
2、打开解压得到的文件夹,使用鼠标左键双击打开其中的应用程序文件。
3、打开Process Monitor的软件相关许可协议,如无异议的话,则点击下方的“Agree”按钮表示同意协议。
4、这样就能直接打开Process Monitor软件了,无需安装。
基本操作可能有这样的一些情况,我们在企业中部署了某一些软件,然后要对软件标准化,包括UI,功能设置等等的标准化。我相信管理员应该不会愿意一台机器一台机器去设置,设上几百遍。这时候我们可能想到使用组策略来做,有一些软件会提供一些ADM或是ADMX文件,比如微软的
office,有了这些文件,倒是轻松了。但并不是所有的软件都会提供这些,管理员可能需要自己去制作这样的一些ADM或是ADMX文件,而这项工作的第一步,或许就是从将软件UI设置找到对应的注册表开始。这里我们就拿calc
计算器程序来试下手吧,让他启动时默认启用科学型,
而不是标准型
1、启动Process Monitor,选择Fiter菜单中的Fiter
2、打开以后,添加process is calc.exe
3、同时添加operation is RegSetValue
4、完成以上操作后,我们再去打开calc.exe,并将标准型切换成科学型,便可以从process monitor中看到相应注册表项了,选择jump to便可打开到相应的注册表项
而对于另外的一个文件操作的例子,我们经常可以在论坛中看到有人提问说文件经常是默名其妙的被修改了,或是被隐藏了。像类似这样的问题,我们关键的是要找出到底是哪个程序在做怪,一般可以启用审核功能解决,这里我们也可以使用Process Monitor来解决
1、同样启动Process monitor,打开filter,设置path值为文件夹的路径
2、做为测试,我们将test文件夹隐藏,便可以在Process Monitor中看到explorer.exe这个进程对文件夹做了修改
Process Monitor 查找病毒
1,开超级用户,双击打开程序,把用户许可允许了,否则开机的时候会要求许可。为了让程序尽快的启动,建议将程序添加到注册表userinit 项中。
2,设置程序右上四个监视都打开,分别是注册表,文件,网络,进程线程。程序启动后就会监视系统绝大部份操作了。简单说一下,操作中 readfile 表示读取文件,WriteFile表示写入文件。
点击工具栏如下图标,可以查看进程树,可以很清楚看到历史上哪些进程属于哪个父进程。注意这里是历史记录也就是他消失了也能看到。所以还是有很有用。这里显示 我们的dbntcli.exe启动了自身并启动c_deskico.aex来处理桌面图标摆放,并导入了一些用户的注册表。还启动了 smss.exe 这个深蓝防逃费程序。
3,这里可以看我们的程序 DBNTclie.exe 给ser200这台机子的 tcp端口 21983发送了消息,并接收了消息。tcp send(TCP发送) , TCP Receive (TCP接收),并写入文件(Writefile) kdsm.exe 这个文件(从服务器ser200下载的)
4,因为消息太多,我们无法一一看完,所以我们选择过滤图标,打开过滤窗口,汪厍 WriteFile 也就是只看写入文件的日志。
5,这下就只有写入文件的日志,一目了然。
6,可以看到explorer.exe 写了 tldrdll.bat 文件,但我们并没有操作,难道explorer.exe中毒了。
7,找到资源管理,双击process tab,有一个不明的dll注入 PKWSSNGT.dll
8,这个文件是哪的呢?返回主界面搜索,就可以找到是哪个程序释放的了,一些特殊原因,这里就不继续展开了。这下,基本的操作都会了吧?
【常见问题】
process monitor怎么监视注册表修改与否?
1、点击Process Monitor顶部工具栏中的“Filter”按钮,在打开的下拉菜单中选中“Filter…”一栏。
2、之后将列表中已有的项目通过点击右上方“Remove”按钮的方式依次去除。
3、然后将上方左侧的选择框修改为“Process Name”,右侧选择框修改为“Include”,再在中间的选择框中选择需要监控的程序名。
4、选择好后,点击上方的“Add”按钮将此监控添加金列表中,并点击“OK”。
5、之后会进入Process Monitor的准备时间,这个过程大约需要5分钟。
6、当进度条完成后,就会开始执行监控项了,如果有修改的话,此处会一目了然,快来试试吧。
怎么监控?
1、在安装过程开始后,打开Process Monitor;2、单击工具栏的Filter图标,在弹出的Process Moniter Filter窗口中,先把列表中内容Remove;3、在选择Process Name is 你的安装程序的进程名,勾选 Includ,单击Add后,在下面的列表框看到绿色勾图标就表示添加成功了,单击OK按钮;4、这个时候就会在Monitor的主窗口显示监控的信息,可以通过工具栏的 Register来只显示注册表信息;5、执行安装过程,注册表的修改信息就会被记录下来。备注:记得要点亮工具栏的Capture按钮哦,不如不会捕捉(叉叉表示停止捕捉)
【软件对比】
Process Monitor和360任务管理器是两款在电脑上用于进程监控的工具,能够将电脑中的每一个进程都呈现在用户面前,那么这两款软件有什么区别呢?
Process Monitor是一款专用于进程监控的便捷工具,与Windows系统自带的任务管理器类似,但功能更加强大,能够自行选择需要监控的模块,更加符合用户需要。Process Monitor目前没有官方汉化版本,国内用户使用起来会有一些不便。
360任务管理器是
360安全卫士中自带的附加功能之一,同样与系统自带的任务管理器功能相似,但是展现出的内容更加直观,不管用户处于何种水平,都能轻松地了解电脑目前的基本情况。不过360任务管理器没有独立的运行程序,需要依托于360安全卫士才能正常更新、使用。
综上所述,两款软件各有优缺点,用户们可以根据使用需要来选择一款下载。
【更新日志】
Process Monitor 现在包括一个/运行时开关用于控制无头捕获的持续时间, 正确显示 PICO 进程, 显示 Windows 10 中引入的文件系统 API 的详细信息,并包括许多小改进和错误修复。