当前位置: 首页 > article >正文

linux应急响应-进程排查

1,netstat查看网络连接命令

用于分析可疑端口,IP地址,PID及程序进程

2,ls -alt /proc/

/proc/ 目录是一个虚拟文件系统,包含了当前 Linux 系统内核和进程的信息。它并不包含常规的文件,而是一些内核生成的“虚拟文件”,用于提供系统运行时信息。

ls -alt /proc/PID 命令能够查看对应可执行程序

lsof -p PID 命令查看进程所打开的文件

1. ps 命令

ps 是 Linux 系统中最常用的命令之一,用于列出当前系统中的进程。

  • 列出所有进程:
    ps aux

a 选项显示所有用户的进程,u 显示详细信息,x 显示没有控制终端的进程。

  • 按 CPU 使用排序:
    ps aux --sort=-%cpu

这将按 CPU 占用从高到低显示进程,适合查找占用 CPU 资源高的进程。

  • 按内存使用排序:
    ps aux --sort=-%mem

这将按内存占用从高到低显示进程,适合排查占用内存大的进程。

  • 显示进程树:
    ps -ejH

-H 选项显示进程的层级关系,帮助你查看父子进程的关系。

2. top 命令

top 命令是一个动态实时显示进程信息的工具,能够帮助你监控系统的进程、CPU 和内存使用情况。

  • 实时监控进程:
    top

默认显示按 CPU 使用率排序的进程。你可以按 P 按 CPU 排序,按 M 按内存排序。

  • 筛选特定进程: 按下 Shift + F 来选择过滤条件,或直接输入你想监控的进程名称。
  • 设置刷新频率:
    top -d 1

    -d 用来设置刷新时间,单位是秒。这里设置为每秒刷新一次。

3. htop 命令

htop 是 top 的增强版本,提供了更友好的用户界面和更多的交互选项。

  • 实时显示进程:
    htop
    htop 提供了一个可操作的界面,你可以直接选择进程进行操作,例如终止进程、筛选进程等。
  • 按进程名称或用户筛选: 按下 F3 键后输入进程名称进行筛选,按下 F4 键后输入用户进行筛选。

4. pgrep 和 pkill 命令

pgrep 用于查找进程,而 pkill 用于通过进程名或其他条件终止进程。

  • 查找特定进程:
    pgrep -l <process_name>
    例如,查找名为 httpd 的进程:
    pgrep -l httpd
  • 终止特定进程:
    pkill <process_name>
    例如,终止所有名为 httpd 的进程:
    pkill httpd
  • 查找与父进程相关的所有子进程:
    pgrep -P <parent_pid>
    例如,查找进程 ID 为 1234 的所有子进程:
    pgrep -P 1234

5. lsof 命令

lsof(List Open Files)命令用于列出系统中所有打开的文件,包括与进程相关的文件和网络连接。

  • 查看进程打开的文件:
    lsof -p <PID>
    显示特定进程(由 <PID> 替代)打开的所有文件。例如,查看进程 ID 为 1234 的文件:
    lsof -p 1234
  • 查看某个文件被哪个进程打开:
    lsof <filename>
    例如,查看 /var/log/syslog 文件被哪个进程打开:
    lsof /var/log/syslog
  • 查看网络连接:
    lsof -i
    显示所有打开的网络连接,包含进程和相关信息。可以添加筛选条件:
    lsof -i :80
    查看所有连接到 80 端口的进程。

6. netstat 命令

netstat 命令用于显示网络连接、路由表、接口统计信息等。它可以帮助你发现进程是否与外部进行网络通信。

  • 显示所有网络连接:
    netstat -tuln
    -t 显示 TCP 连接,-u 显示 UDP 连接,-l 显示监听中的端口,-n 显示数字地址而不是主机名。
  • 显示连接和进程:
    netstat -tulnp
    -p 显示与每个连接关联的进程 ID 和进程名。

7. strace 命令

strace 命令可以用来跟踪系统调用和信号,帮助你检查进程的行为,特别是在怀疑进程有异常行为时。

  • 跟踪进程的系统调用:
    strace -p <PID>
    例如,跟踪进程 ID 为 1234 的系统调用:
    strace -p 1234

  • 跟踪某个命令:
    strace <command>
    例如,查看一个命令(如 ls)的系统调用:
    strace ls

8. w 命令

w 命令可以显示当前登录系统的所有用户及其活动。

  • 查看登录用户及其活动:
    w
    输出显示当前登录的用户、他们的终端、登录时间、当前活动等信息。

9. uptime 命令

uptime 命令显示系统运行时间、负载平均值等信息,能够帮助你了解系统是否处于高负载状态。

  • 查看系统负载:
    uptime

常见恶意进程排查指标:

  1. CPU 和内存占用高的进程:恶意进程通常会消耗大量的系统资源,使用 ps, top, htop 等命令可以发现这种进程。
  2. 不明来源的进程:使用 ps 和 pgrep 查找进程名,确认是否是已知和合法的进程。
  3. 异常的父进程关系:查看父进程和子进程的关系,如果没有明显的父进程或关联不正常,可能是恶意进程。
  4. 网络连接:使用 lsof, netstat 等工具查找与外部服务器的通信,是否存在不明的网络连接。

http://www.kler.cn/a/560965.html

相关文章:

  • VM C#脚本 调用命令行 以python为例
  • 搭建Appium工具环境
  • 赛前启航 | 三场重磅直播集结,予力微软 AI 开发者挑战赛!
  • 边缘安全加速(ESA)套餐
  • 本地部署AI模型 --- DeepSeek(二)---更新中
  • 使用 Promptic 进行对话管理需要具备python技术中的那些编程能力?
  • 【深度学习】矩阵的核心问题解析
  • 【数据结构】(11) Map 和 Set
  • uniapp修改picker-view样式
  • 小迪安全23-php后台模块
  • 【DBeaver】Oracle数据库连接报错:驱动程序 ‘Oracle‘ 的配置错误的解决办法
  • C++(STL)--queue(队列)priority_queue(优先队列)dequeue(双端队列)
  • 深入理解IP子网掩码子网划分{作用} 以及 不同网段之间的ping的原理 以及子网掩码的区域划分
  • uniapp 微信小程序打包之后vendor.js 主包体积太大,解决办法,“subPackages“:true设置不生效
  • 【含文档+PPT+源码】基于微信小程序的健康饮食食谱推荐平台的设计与实现
  • 【YOLOv11改进- 主干网络】YOLOv11+Ghostnetv2: 华为轻量级目标检测模型Ghostnetv2特征提取网络助力YOLOv11有效涨点;
  • 网络运维学习笔记 017 HCIA-Datacom综合实验01
  • FreeRTOS 时间管理
  • 数据库面试题(基础常考!!!)
  • 深入理解 CSS pointer-events: none:穿透点击的魔法