进程端口容器溯源
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @kunlungrowth/process-trace-witr。
技能介绍
要解决的问题
排障时最让人恼火的场景:某个端口突然被占用、一个陌生进程吃满 CPU、一个不认识的容器凭空出现在节点上。第一反应通常是 kill -9,但过不了多久它又回来了——因为只杀死了“结果”,没有回答“是谁启动的”。
进程端口容器溯源(witr) 把排障的第一问固定为:这玩意儿是谁启动的。它用一套称为 witr 的溯源思路,把翻 ps 树、猜父进程、对着 docker inspect 发呆的体力活,压缩成一条聚焦父链与启动上下文的排查路径。
核心能力
技能围绕四类溯源对象工作:
- 进程:某个 PID 属于谁、父进程是谁、用什么命令启动的
- 端口:哪个进程在监听,它又是谁拉起来的
- 容器:容器对应哪个 Compose 编排或父进程
- 文件:某个文件正被哪个进程持有或写入
标准流程分四步:
- 发现异常(CPU 飙高 / 端口占用 / 陌生进程)
- 用
witr拉出完整父链与启动上下文 - 判断是预期服务还是异常(入侵 / 泄漏)
- 根治:修配置、限权限,而不是只 kill
适用边界与注意点
- 溯源完成后对照清单检查:父链账户是否可信、启动命令与预期是否一致、容器是否来自已知编排、异常是否需安全响应
- 常见陷阱:只 kill 不溯源导致反复出现;误杀系统关键进程引发雪崩;忽略容器与宿主关系导致看不全
- AI 输出以官方为准;涉及疑似入侵等安全事件时,请按公司安全响应流程处置,必要时先隔离再排障
使用场景
- 本地调试时端口被未知进程占用,需要查出监听进程及其启动命令,再决定终止或保留
- 线上节点出现陌生进程且 CPU 持续偏高,需要追溯其父进程和启动账户,判断是否为入侵
- Kubernetes 中出现来源不明的容器,需要确认它由哪个 Compose 或父进程启动,再决定隔离
- 服务器上出现异常写入的文件,需要找到持有该文件的进程,判断是合法服务还是恶意程序
适合人员
- 负责线上故障响应的 SRE,需要在告警后快速定位异常进程、端口和容器的启动来源
- 处理安全事件的运维工程师,需要从陌生进程或容器追溯父链,判断是否属于入侵并决定隔离
- 管理自建主机的后端工程师,需要在端口被占或 CPU 飙高时找出谁启动了相关进程
- 使用容器编排的基础设施工程师,需要确认容器来自哪个已知编排或父进程,避免误杀关键服务