公网部署的一台设备 ssh 总断,ssh 工具偶尔连接上去发现上行流量跑满了,nethogs 也查不到,tcpdump 抓包访问的 ip 国内外都有端口基本上都是 80 ,怎么找到是哪个进程一直在发包啊?目前是 iptables 限制只能 22 端口访问,目前 ssh 能正常访问。

1 EvineDeng Apr 9, 2025 提供几个思路,nethogs 都查不到的话,这些思路也不一定对你有用。 1. 命令 systemd-cgtop -i ,能看到 Input/s Output/s ,能查到对应的 cgroups ,但不一定能对你的症。 2. 命令 htop 可以把 DISK R/W, DISK READ, DISK WRITE 调出来,某进程在进行大流量上传下载有可能也会带来 IO 的大量读写,但不绝对。 3. 如果服务都是 systemd service ,可以编辑/etc/systemd/system.conf 并设置 DefaultIPAccounting=yes ,运行 systemctl daemon-reexec 后在 systemctl status xxx.service 中可以看到 IP 流量。 |
2 runzhliu Apr 9, 2025 可以考虑用 ebpf 跟踪 |
3 rationa1cuzz OP |
4 EvineDeng Apr 10, 2025 系统安全更新可不能等,应该第一时间就更新。 |