Microsoft ProcMon-Linux的进程监视器

Windows和Linux徽标,ProcMon

微软 曾经想卖出它对Linux有着不确定的热爱,实际上,他们为集成内核(例如其HyperV)的开发做出了贡献。 另外,众所周知,他们是Linux基金会的成员,并且购买了著名的开源平台GitHub。 为此,我们必须补充一点,例如Edge,PowerShell,ProcMon等某些程序正在携带,打开FAT,也可以在GNU / Linux中使用,或者它们已在Windows 10中集成了Linux子系统。

但是要当心 不要将爱与兴趣混淆,而推动微软发展的纯粹是兴趣所在。 尽管做出了种种种种姿态,但它仍然是一家寻求利润并将永远寻求利润的公司。 如果那意味着离Linux越来越近,那意味着离Linux也越来越近。 不要犹豫。

背景

95的Windows徽标

我不知道您是否知道Microsoft已经在测试他们的一些产品 神话般的Windows 95功能 在Windows 10中。最新的Redmond操作系统已成为一种滚动发行版,通过它们他们可以进行一些用户可能或多或少喜欢的实验。

一些 程序 由于Windows 95越来越重要,因此今天已经将其解救了。 例如,Image Resizer,对于要在社交网络上发布的图像等非常实用。 简而言之,他打算带来一系列他的 动力玩具 对其现代系统进行了一些改进,以适应新时代。

其中 PowerToy实用程序 分别是:

  • 花式区
  • 图像调整
  • 键盘管理员
  • 电源重命名
  • 等等

好吧,除此之外,还有其他一些 开源工具 是Microsoft在GitHub上拥有的,其中一些还用于GNU / Linux。

ProcMon或过程监视器

进程监控器窗口

微软发布源代码的另一种工具,您可以在GitHub上找到它。 流程监控器或ProcMon。 Windows的一种更现代的实用程序,用于实时监视和显示Microsoft Windows操作系统的活动,特别是从Windows注册表中读取活动。

特别是 对于系统管理员,取证和调试很有趣。 从简单了解系统活动到注册表项中失败的访问尝试(读/写)尝试检测问题,按项,进程,ID或特定值过滤以查找所需内容的任务,了解软件应用程序使用的动态DLL库的使用,检测FS或文件系统错误等。

该实用程序是 合并两个旧工具的结果 微软以前使用的被称为:

  • Filemon-由NuMega Technologies的两名员工Mark Russinovich和Bryce Cogswell创建。 它后来成为SysInternals,并于2006年被Microsoft收购。它的名称是File + Monitor的缩写,顾名思义,它专用于监视文件系统活动。
  • 雷蒙:他的双胞胎姐姐有着相同的血统。 在这种情况下,它旨在使用Windows注册表中的数据进行取证分析。 它的名称来自Registry + Monitor的缩写。

合并成一个版本之后,ProcMon将首次针对Windows 2000发布,然后针对Windows XP SP2发布,最终将被更新以用于后续版本。 但是,尽管它是免费软件,但事实并非如此。 开放源码 到现在。

适用于Linux的ProcMon

您可能会想为什么我要告诉您所有这些信息,并且即使Linux已经打开,它也与Linux无关。 但事实是事实并非如此,因为有一个版本 ProcMon也可用于Linux。 因此,从现在开始,如果您希望在GNU / Linux发行版上也尝试使用此工具,则可以。

ProcMon是 经典ProcMon的新改编 Sysinternals原创。 这是为开发人员提供一种有效的方式来监视或跟踪系统调用(syscalls)的活动。 但是,当然,在Linux中没有Windows样式的注册表,因此它不是一个简单的端口,这就是为什么必须使用BCC(BPF编译器集合),即一个工具箱或一组工具的原因。 Linux内核程序的操纵和跟踪。

此外,Microsoft已在 GitHub上 在MIT许可下。 顺便说一句,源代码是使用C ++编程语言编写的。

安装ProcMon

首先,第一件事是 安装ProcMon 在您最喜欢的发行版中。 您应该知道它具有一系列必须事先满足的依赖性。 另外,尽管代码页仅涉及Ubuntu,但它也可以在其他发行版中使用。

首先要做的是 满足依赖性 基本上是三个:

  • BCC(BPF编译器集合)
  • cmake(构建代码)
  • libsqlite3-dev(SQL数据库引擎)

为此,您可以 运行以下命令:

sudo apt-get -y install bison build-essential flex git libedit-dev libllvm6.0 llvm-6.0-dev libclang-6.0-dev python zlib1g-dev libelf-dev

git clone --branch tag_v0.10.0 https://github.com/iovisor/bcc.git
mkdir bcc/build
cd bcc/build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr
make
sudo make install

这样我们就已经有了依赖项,下面是 ProcMon自己:

git clone https://github.com/Microsoft/Procmon-for-Linux
cd Procmon-for-Linux
mkdir build
cd build
cmake ..
make

如果您愿意,也可以 生成DEB包 在Ubuntu中使用ProcMon的方法很简单:

cd build
cpack ..

使用ProcMon

安装完成后,以下是 开始享受这个工具。 它的使用非常简单,因为它没有大量的选项。 您还必须记住,它需要特权,因此您应该以root身份运行它,或者最好在它前面使用sudo来运行它。

La ProcMon语法 从终端使用它是:

procmon [opciones]

哪里 [选项] 将是其中一些:

  • -ho –help:显示程序的帮助。
  • -p或–pids:指示要监视的逗号分隔的进程。 您只能使用一个。 它将由其ID(即数字)指定。
  • -eo –事件:用逗号分隔的要监视的系统调用列表。 您只能使用一个。 您将必须按名称指定它们。
  • -co –collect / path / file:以无头模式启动procmon。 也就是说,没有您在上一个GIF中可以看到的界面功能。 对于某些测试或脚本自动化的一种非常实用的模式。 该路径将指定将记录命令输出的所有活动的文件,以便您以后可以看到它。
  • -fo –file / path / file:运行ProcMon来映射某些特定文件。
  • 无选项:然后启动ProcMon,它将显示系统上所有正在运行的进程和syscall。
  • 组合:可以将多个选项组合在一起而不会出现问题。

如果你想要一些 实际例子,您可以看到以下执行示例:

sudo procmon

sudo procmon -p 44

sudo procmon -p 44,800

sudo procmon -c /home/registro.db

sudo procmon -p 4 -e read,write,open

sudo procmon -f /home/usuario/programas/prueba


发表评论,留下您的评论

发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   费尔南多

    自问世以来,我一直在Windows上使用它。 那年前有很多类似的工具。
    但这是一个简单的可执行文件,简单而实用..

    让我们看看它如何在Linux上运行。