Cách cài và sử dụng Procmon trên Linux, công cụ mã nguồn mở vừa được Microsoft phát hành

Sau thời gian dài lên kế hoạch với nhiều lần tạm hoãn, Microsoft cuối cùng cũng đã chính thức phát hành tiện ích phổ biến Sysiternals Procmon phiên bản Linux để người dùng có thể theo dõi hoạt động của các tiến trình đang chạy ngay trên hệ điều hành nguồn mở này.

Procmon là gì?

Có lẽ nhiều người dùng Windows không còn xa lạ với công cụ này. Procmon là một tiện ích hệ thống, giúp người dùng dễ dàng theo dõi các cuộc gọi hệ thống (system calls), truy cập Registry và file activity liên quan đến các quy trình đang chạy trong hệ điều hành.

Việc theo dõi các quy trình này cho phép người dùng chẩn đoán sớm các sự cố có thể xảy ra trên hệ thống, chẳng hạn như xung đột ứng dụng, sử dụng tài nguyên quá mức, hoặc thậm chí lây nhiễm phần mềm độc hại.

Procmon cho Windows
Procmon cho Windows

Sự ra mắt của công cụ Procmon nguồn mở phiên bản dành cho Linux đóng vai trò khá quan trọng, giúp người dùng Linux có thêm một công cụ hỗ trợ theo dõi các quy trình đang chạy trên hệ thống tương tự như Windows, có thể thấy trong bản demo bên dưới:

Demo Procmon trên Linux
Demo Procmon trên Linux

Cách cài đặt và build Procmon trên Linux

Yêu cầu hệ thống

  • Hệ điều hành: Ubuntu 18.04 LTS với kernel >= 4.18 và kernel <= 5.3.
  • cmake >= 3.13 (chỉ build-time)
  • libsqlite3-dev >= 3.22 (chỉ build-time)

Cài Procmon

Đăng ký Microsoft key và feed:

wget -q https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
 sudo dpkg -i packages-microsoft-prod.deb

Sau đó dùng câu lệnh sau để cài Procmon:

sudo apt-get update
 sudo apt-get install procmon

Build Procmon từ mã nguồn

Cài dependency:

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

Build và cài BCC:

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

Build Procmon:

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

Build package Procmon:

Các gói phân phối cho Procmon trên Linux được build bằng cách sử dụng cpack. Để build package deb cho Procmon trên Ubuntu bạn chỉ cần chạy:

cd build
 cpack ..

Cách sử dụng Procmon

Khi sử dụng Procmon trên Linux, người dùng có thể chỉ định ID tiến trình mà mình muốn theo dõi hoặc các cuộc gọi hệ thống cụ thể bằng những đối số sau:

Usage: procmon [TÙY CHỌN]

Có các TÙY CHỌN bao gồm:

  • -h/--help: In màn hình trợ giúp này
  • -p/--pids: Phân tách danh sách id tiến trình bằng dấu phẩy để giám sát
  • -e/--events: Phân tách danh sách các cuộc gọi hệ thống bằng dấu phẩy để giám sát
  • -c/--collect [ĐƯỜNG DẪN TIỆP]: Tùy chọn để khởi động Procmon ở chế độ không đầu cuối
  • -f/--file ĐƯỜNG DẪN TIỆP: Mở tệp theo dõi Procmon

Ví dụ: để giám sát các tiến trình có id 738 và 2657, bạn nhập lệnh sau:

sudo procmon -p 738,2657

Để theo dõi PID 738 và liệt kê tất cả các cuộc gọi đọc/ghi, bạn sử dụng lệnh sau.

sudo procmon -p 738 -e read,write

Để biết thêm thông tin về cách sử dụng Procmon trong Linux, bạn có thể tham khảo chuyên trang GitHub của dự án này tại địa chỉ: github.com/microsoft/ProcMon-for-Linux

Thứ Ba, 28/07/2020 22:54
3,34 👨 2.710
0 Bình luận
Sắp xếp theo