文档翻译第001篇:Process Monitor帮助文档(Part 1)

来源:互联网 发布:java 文件读入字符串 编辑:程序博客网 时间:2024/05/05 01:34

【译者注】

        Process Monitor是一款非常著名的系统进程监视软件。总体来说,Process Monitor相当于Filemon+Regmon,其中的Filemon专门用来监视系统中所有文件的操作过程,而Regmon用来监视注册表的读写操作过程。用户可以利用Process Monitor对系统中的文件系统以及注册表操作等方面同时进行监视和记录。通过监控系统中相应位置的变化,对于帮助诊断系统故障或是发现恶意软件、病毒或木马来说,非常有用。这是一款先进的 Windows 系统和应用程序监视工具,由优秀的 Sysinternals 所开发,并且目前已并入微软旗下,可靠性自不用说。

        在此我翻译这款软件的帮助文档,有助于大家更好更全面地了解Process Monitor的各项特性,基本上它的所有功能,我都有配图,使得读者仅仅看翻译文档就能很快地掌握这款软件的使用方法。因为这款软件是反病毒的利器,而我以后也会写一些用这款软件对病毒的行为进行分析的文章,因此这个翻译文档就是为以后的文章打下基础。在本翻译文档的最后,我也会用一个实际的例子来简单展示一下Process Monitor的使用方法。本文档翻译自Process Monitor v3.10所自带的帮助文档。

        由于我的水平有限,翻译难免出现不妥当的地方,也希望大家批评指教。

 

【引言】

Process Monitor

Copyright © 1996-2010 Mark Russinovich andBryce Cogswell

Sysinternals – www.sysinternals.com

 

        Process Monitor是一款为Windows操作系统设计的高级监控工具,它能够实时地显示文件系统、注册表以及进程/线程的活动信息。它集成了Sysinternals的两款老牌知名软件——Filemon以及Regmon——的特点,并且增加了一些强大的扩展功能,包括丰富的无损筛选器,综合的事件属性,比如会话ID以及用户名,可信的进程信息,为每一个操作提供完整符号帮助的线程堆栈,同步日志到文件等许多特性。它的这些特性能够使得Process Monitor成为你的系统中用于故障排除以及捕获恶意程序的核心软件。

        ProcessMonitor可以运行在Windows XP SP2,Windows Server 2003 SP1与Windows Vista,以及64位版本的Windows XP,Windows Server 2003以及Windows Vista等操作系统中。


图1 Process Monitor程序界面


【使用ProcessMonitor】

        运行Process Monitor需要本地管理员权限。当您启动Process Monitor软件后,它就会立刻开始监控三类操作:文件系统、注册表以及进程。

        ● 文件系统(File System)

        Process Monitor会显示Windows文件系统的所有活动信息,包括本地的存储文件以及远程文件系统。Process Monitor能够自动侦测到新加入的文件系统设备并且对其进行监控。当一个文件系统开始运行后,与用户会话相关的所有文件系统路径都会被显示出来。举例来说,如果用户A将Z盘设置为了共享,那么所有使用这个共享的用户都会因为与Z盘建立了关系,而显示在Process Monitor中。

        如果想去除文件系统监控的显示,可以取消选择在Process Monitor工具栏上的文件系统按键,而如果想将文件系统的操作监控重新加回,则只需再次按下该按钮即可。


图2 显示文件系统活动

        ● 注册表(Registry)

        ProcessMonitor能够记录所有的注册表操作并且将注册表根键以常用的缩写形式来表示,以显示注册表路径(比如将HKEY_LOCAL_MACHINE表示为HKLM)。

        如果想去除注册表监控的显示,可以取消选择在Process Monitor工具栏上的注册表按键,而如果想将注册表操作监控重新加回,则只需再次按下该按钮即可。


图3 显示注册表活动

        ● 进程(Process)

        在它的进程/线程监控子系统中,ProcessMonitor能够追踪所有的进程与线程的创建和退出操作,也可以追踪动态链接库(DLL)文件和设备驱动程序的加载操作。

        如果想去除进程操作监控的显示,可以取消选择在Process Monitor工具栏上的进程按键,而如果想将进程操作监控重新加回,则只需再次按下该按钮即可。


图4 显示进程与线程活动

        ● 网络(Network)

        ProcessMonitor使用Windows的事件追踪机制(ETW)来追踪并记录TCP和UDP的活动。每一项网络操作,包括源头与终点的地址,连同大量的发出与接收到的数据,但是不包括实际的数据内容。

        如果想去除网络操作监控的显示,可以取消选择在Process Monitor工具栏上的网络按键,而如果想将网络操作监控重新加回,则只需再次按下该按钮即可。


图5 显示网络活动

        ● 分析(Profiling)

        这个事件类型能够在“选项(Option)”菜单中激活。当它被激活之后,Process Monitor能够检测到系统中的所有活动线程,并且生成一个非常详尽的分析报告,包括系统内核与用户CPU的时间消耗,以及上下文切换执行的数量,这都可以通过上次分析事件以来的线程实现。注意:系统进程不会包含在分析报告中。


图6 显示分析事件

        有一些基础性的选项能够控制ProcessMonitor的基本操作:

        捕获(Capture):使用“文件(File)”菜单中的“捕获事件(Capture Events)”菜单选项,或者点击工具栏上的捕获按钮,也可以使用快捷键“Ctrl+E”,实现对Process Monitor监控的捕获进行切换操作。


图7 “捕获”按钮

        自动滚屏(Autoscroll):在“编辑(Edit)”菜单中选择“自动滚屏(Autoscroll)”项,或者点击工具栏上的自动滚屏按钮,也可以使用快捷键“Ctrl+A”,就能够切换Process Monitor的自动滚屏特性,这能够使得它保证在显示列表中显示最新的操作。


图8 “自动滚屏”按钮

        清屏(Clear):如果想要清除所有项目的显示,可以在“编辑(Edit)”菜单中选择“清除显示(Clear Display)”,或者使用快捷键“Ctrl+X”。


图9 “清屏”按钮


【列目选择】

        您可以拖动列目来重新排列它们的顺序实现列目订制显示的效果,通过“选项(Option)”菜单中的“选择列目(Select Columns)”菜单项就能够打开列目选择对话框。可供选择的列目包括:


图10 Process Monitor列目选择

        应用程序细节(Application Details)

        ● 进程名称(Process Name):当一个事件出现时的进程名称。

        ● 映像路径(Image Path):运行于一个进程中的映像的完整路径。

        ● 命令行(Command Line):开启一个进程的命令行。

        ● 公司名称(Company Name):嵌入一个进程映像文件中的文本信息,它是用于记录公司名称的版本信息字符串。这个文本可由应用开发者选择定义。

        ● 描述(Description):嵌入一个进程映像文件中的文本信息,它是用于记录产品描述信息的字符串。这个文本可由应用开发者选择定义。

        ● 版本(Version):嵌入一个进程映像文件中的文本信息,它是用于记录产品版本的数字。这个信息可由应用开发者选择指定。

        事件细节(Event Details)

        ● 序列号(Sequence Number):在所有事件中的某一操作的相对位置,包括当前的筛选器。

        ● 事件类(Event Class):事件(文件、注册表、进程)的类型。

        ● 操作(Operation):指定事件的操作(比如读取、获取指定的注册表项值等)。

        ● 日期和时间(Date & Time):操作发生的日期和时间。

        ● 时间(Time of Day):仅显示操作发生的时间。

        ● 路径(Path):事件所引用的资源的路径。

        ● 细节(Detail):某一具体事件的附加信息。

        ● 结果(Result):一项已完成操作的状态码。

        ● 相对时间(Relative Time):操作的相对时间,自Process Monitor启动开始计算,或者自从ProcessMonitor的最近一次清屏操作开始计算。

        ● 持续时间(Duration):已完成操作的持续时间。

        进程管理(Process Management)

        ● 用户名(User Name):执行操作的进程运行时的用户账户的名称。

        ● 会话ID(Session ID):执行操作的进程运行时所附属的Windows会话。

        ● 认证ID(Authentication ID):执行操作的进程运行时所附属的登录会话。

        ● 进程ID(Process ID):执行操作的进程ID(PID)。

        ● 线程ID(Thread ID):执行操作的线程ID(TID)。

        ● 完整性级别(Integrity Level):正在运行的操作所执行进程的完整性级别(仅在Windows Vista下有效)。

        ● 虚拟化(Virtualized):正在运行的操作所附属进程的虚拟化状态。(仅在Windows Vista下有效)。

 

【事件属性】

        您可以通过双击某项事件来查看一项独立事件的属性,或者通过在“事件(Event)”菜单中选择“属性(Properties)”菜单项,也可以通过右键点击一项事件,在弹出的快捷菜单中进行选择。事件属性对话框由事件、进程以及堆栈页所组成。您可以通过选择在事件属性对话框下方的箭头按钮来移动到下一项或者上一项进行普通显示或高亮显示的事件上。


图11 打开事件属性

        事件(Event)

        事件(Event)页显示特定的某一项事件的信息,包括它的序列号、事件线程、事件类别与操作、结果、时间戳,以及如果可用的话,则显示资源路径。只有文件系统以及注册表事件才定义有资源路径这一项。事件页的下半部分列出了一项事件所依赖的事件操作的细节集合。这些细节信息与主界面中的细节列表所显示的内容是一致的,不同的是每一项细节都是分行进行显示的。


图12 事件属性对话框的事件页

        进程(Process)

        一项事件的进程页显示了已经执行的事件的进程信息。连同与进程镜像相关的数据,比如路径与版本字符串,进程页显示了进程执行的属性,比如进程ID,执行进程的用户账户,以及该项事件是否由64位的Windows操作系统所生成,该项进程是32位还是64位。当进程运行在Windows Vista操作系统中的时候,Process Monitor能够显示进程的完整性级别以及它是否能够虚拟化。

        进程页的底部区域显示了当事件执行时,由该进程读取的映像列表,以及读取的地址。双击列表中的一个映像可以查看关于映像的更多信息,包括它的版本信息等。


图13 事件属性对话框的进程页

        栈(Stack)

        栈页显示了当事件被记录时线程的线程栈。这个栈对于决定事件发生的原因以及导致该事件发生的组件有很大的帮助。内核模式的栈帧是由其左边的字母“K”作为标记的,而用户模式栈(用户模式栈在Vista SP1/Windows Server 2008之前的64位系统中无法使用)则以字母“U”作为标记。如果Process Monitor能够定位在追踪中引用的映像所使用的符号,它将会尝试去解析它们所归属的函数的地址。如果符号需要在网络上获取,那么符号解析就需要花费一定的时间,比如从微软符号服务器上获取。您可以在“选项(Option)”菜单中找到符号配置对话框,来配置符号信息。

        如果您在符号配置对话框中指定了一个源文件的路径,如果行号的符号信息可用并且您所包含的源文件的路径信息也是可用的,那么栈对话框的“源(Source)”按钮能够在该帧中使用。点击“源(Source)”按钮就能够打开一个文本查看器,并且能够高亮显示被引用的源代码行。

        如果想查看更多的关于栈追踪的映像列表信息,可以双击该帧或选择该帧并按下栈追踪区域底部的“属性(Properties)”按钮。

选择“事件(Event)菜单”中的“栈(Stack)”菜单项就能够打开事件属性对话框,并直接打开栈页。


图14 事件属性对话框的栈页

0 0
原创粉丝点击