Sysinternals---Process Explorer
如果你现在或者将来的主要工作平台为Windows,但还没有接触过Process Explorer,那你应该反思一下了。
官网:
https://docs.microsoft.com/zh-cn/sysinternals/downloads/process-explorer
- 顾名思义,Process Explorer 就是一个功能强大的进程资源管理器。Windows 自带的任务管理器功能太过简陋,对于一个专业的开发人员来说,一个强大的进程资源管理器十分必要。
功能介绍
- 更详尽的进程列表
其中以缩进方式显示进程父子关系,不同的进程颜色显示不同的进程属性,且其颜色可自定义,菜单->Options->Configure Colors
列条目是可选的,可以定制自己所需显示的信息,我常用的就是两项,Image Type 和 User Name
- 详细的进程信息(以可怜的calc.exe 为例)
双击或者选中calc 进程后双击(或者通过类似spy++的小靶子选中可视的窗口)出现如下窗口:
窗口最上方显示了可以选择的进程信息。当前选择为Threads,途中显示了线程的ID,起始地址,以及其起始时间、优先级、占用了系统及用户空间的时间、状态等信息,下方按钮提供了可对线程进行的操作:主要就是暂停/恢复,kill,查看线程权限等操作。
Module 按钮显示的是线程当前执行所在的模块的信息。
查看线程栈
点击Stack,效果同双击线程,将会显示线程的调用栈,其实现方式是dbghelp.dll模块及其相关的函数,如果想了解相关内容可以查看我之前介绍栈回溯的文章,或自行百度。
这里比较特别的一点是:当我们UAC 运行Process Explorer,此时选择查看线程调用堆栈时将可以显示内核模块的信息。
- TCP/IP—-显示进程的TCP/IP 活动
- Security—进程安全相关
- Environment—进程环境变量,顺便提一句,此工具以及Sysinternals 的所有的工具的列表显示有的是可以排序的,另外,在主窗口对应的选项卡点击以排序后,会丢失父子关系信息,如果想恢复显示,可以按下Ctrl+T,或者选择菜单:View->Show Process Tree。Process Hacker 比这个工具好的地方就在于,其提供了进程搜索功能,可以搜索进程名,进程ID等,另外其显示列表可排序的程度更大,对于显示不太全的信息,双击后可以显示,总体来说功能更加强大,更好用。后面将会介绍。
- Strings
字符搜索功能,包括镜像文件中的字符搜索以及内存中的字符搜索。可以说很贴心了。
Image
进程完整路径,签名,版本号,生成时间,命令行,当前路径,父进程,用户,起始时间, 镜像类型,DEP 状态,ASLR 状态等等。performance 和 performace Graph 是其执行性能方面的信息
- Disk 和 Network 显示网络I/O 和 磁盘I/O 的量。
- 对于Job 中的进程可以显示Job 信息。
进程详细信息中的信息大概就是上面这些了。但是我们发现它的信息是不全的,其中我们进程需要了解的模块信息,句柄,等信息是没有的。后来经过查看菜单选项,发现其模块信息和句柄信息是可选择的显示在主窗口上的。可能作者考虑这两项是经常需要使用的功能,就放在了这里。相反,Process Hacker 的作者将它放到了进程的详细信息中,哪个位置比较好就看个人的洗好了,用起来其实差别不大。
选择显示模块和句柄的方法:
快捷键:Ctrl+D 显示DLL,Ctrl+H显示句柄。Ctrl+L 选择显示或者不显示下层的信息。
菜单按钮:
点击图中6号可以切换显示DLL 和 句柄。
菜单:View->Show lower Pane设置。
如果想选择显示未命名的句柄、内存映射:
View->Show Unnamed Handles And Mappings
文件及句柄查找:强大且使用的功能,查找文件占用、模块占用很有效果。Ctrl+F 即可召唤。
其他福利功能:自行探索吧。
实例解决问题。
- 问题描述,在开发一个防火墙功能时,为了测试“对指定路径的应用程序添加规则”的功能时,选择了internet Explorer(IE).exe。之后添加规则,但是发现其仍然可以上网。然后查看log发现文件路径以及函数调用都是成功的,之后想,是不是自己的路径传入错了,然后想起自己平时使用chorme 时,进程列表中常常有很多的chorme 进程,IE 会不会也是这样的。此时打开Process Explorer,发现如下信息:
目标系统为X64,为什么运行IE 会同时有X64、X86两种进程存在,之后查看进程详细类型发现IE分别运行了X64和X86两个版本,我们传入给下层的进程的路径是X64版本IE 的路径。当我们在IE 中打开多个标签页时,会新增一些X86 版本的IE,后来我猜想,IE 是不是通过X86版本的进程进行的网络操作,X64版本进行的行为控制等等信息?后来通过选取X86版本的IE 的路径设置防火墙,IE 确实无法进行网络连接了。
之后更进一步,查看IE的更多细节如下:
在我们使用Process Explorer 的靶子分别选择IE的1,2号区域时,Process Explorer 分别指向了X64 IE和 X86 IE。
再看下面的实验:分别选择不同的选项卡:
由此可猜测IE 的选项卡的机制,具体的内容不清楚,留给有兴趣的同学吧。
- 顺便说一句,如果没有对于这个工具的很好的利用,没有自己的猜想和实验,估计问题的解决时间是不确定的。由此可见经验和工具对于工作效率的重要性。
题外话:可以通过Process Explorer 查看一下Process Explorer 自己的实现机制。它对应平台的镜像是怎么安排的?都是X86?都是X64?当以UAC 权限运行时是否有驱动?如果有,驱动的路径在哪里?
Sysinternals---Process Explorer相关推荐
- Process Explorer 进程树丢失问题的解决
不知什么原因,导致Process Explorer 的进程树丢失了. View菜单下的 show process tree(Ctrl+T)选项变为灰色,按Ctrl+T也无效. 估计是安装的其它软件的快 ...
- 使用Process Explorer查看托管进程的性能记数器
使用Process Explorer查看托管进程的性能记数器 .net中性能记数器,能让我们监视.net应用程序运行状况,以便我们进一步对程序进行调整. Process Explorer 一个进程管理 ...
- Process Explorer 15.2:微软增强型任务管理器
Process Explorer 是一款免费的增强型任务管理器,同时也是微软著名工具包Sysinternals下的组件之一. Process Explorer 能让使用者了解看不到的在后台执行的处理程 ...
- [原]排错实战——使用process explorer替换任务管理器
前言 一般,我们会使用任务管理器查看系统中有哪些进程在运行,强制杀掉某个进程.可是系统自带的任务管理器功能有限,process explorer是一个功能更强大的工具.它可以让我们查看更多更详细的信息 ...
- Process Explorer工具介绍
Process Explorer是由Sysinternals开发的一个高级的Windows系统和应用程序监视工具,目前已并入微软旗下.此版本的Process Explorer 不仅结合了Filemon ...
- windows进程管理器_探究 Process Explorer 进程树选项灰色问题
本文为看雪论坛优秀文章 看雪论坛作者ID:jishuzhain 前言 Process Explorer是由SysInternals创建的用于Microsoft Windows的免费任务管理器和系统监视 ...
- 电脑技巧:进程管理工具Process Explorer介绍
目录 1.介绍 2.常用功能介绍 2.1 替代微软自带的任务管理器 2.2 查看当前系统中运行的进程 2.3 查看进程的详细信息 2.4 检索进程 2.5 监控操作系统的性能指标 2.6 获取Dump ...
- 超强任务管理器Process Explorer的使用
文章目录 一.关于Process Explorer 二.下载地址 三.如何使用 1.Process Explorer主界面 2.显示进程的系统信息 3.显示当前进程所加载的DLL 4.显示当前进程所占 ...
- Process Explorer使用图文教程
这是一款由Sysinternals开发的Windows系统和应用程序监视工具,目前Sysinternals已经被微软收购,此款不仅结合了文件监视和注册表监视两个工具的功能,还增加了多项重要的增强功能, ...
- 【开发工具集】Process Explorer——进程资源管理器
进程资源管理器 特性 Process Explorer 是 Sysinternals 出品的工具,其在功能方面的独特之处有以下几点: 显示进程安全令牌(比如安全组列表.特权,以及虚拟化状态). 加亮显 ...
最新文章
- 死锁的必要条件及避免
- 九爷带你了解 nginx 日志配置指令详解
- 如何确认mongodb数据插入是否成功_go连接mongodb
- 内存屏障在硬件层面的实现原理
- jquery动态加载问题
- PHP的var_dump(‘1‘==‘1e0‘)的结果为true
- 对勾函数_对勾函数?2020福建省中考压轴题分析
- Ubuntu 16.04安装教程及虚拟机设置
- HDU 1253 胜利大逃亡 题解
- 中文域名销售平台_中国开关网.商城被搭建为南京某公司官网,这样的域名你喜欢吗?...
- svn java注释_svn 强制用户添加注释 和 允许用户修改注释
- STM32CubeMX中文用户手册下载方法
- 咖啡种类、做法和历史来源
- 2013年8个存储热点话题总结及高端存储发展趋势
- 前端实例1——blog页面(css样式)
- Codeforces 1324D Pair of Topics
- 篆刻小站之设计与开发
- 浅析Windows通信编程
- PHP每循环5次换行,怎么用换行来做循环
- 【Delphi】Android 桌面图标添加快捷菜单功能