lsof -i 本身无入侵检测能力,但可组合过滤、时间差比对和行为特征(如未知进程连境外非常用端口)辅助识别异常外连;需配合 ss/netstat 交叉验证及 inotifywait/auditctl 进阶监控。

直接用 lsof -i 实时监控异常外连效果有限,它本身不带入侵检测逻辑,也无法自动识别“潜伏木马回传”行为。但可以组合使用 lsof -i 配合过滤、时间差比对和基础行为特征判断,作为轻量级现场排查手段。
聚焦可疑连接的关键筛选条件
木马回连常表现为:非预期进程建立到陌生IP:Port的TCP连接(尤其是非常用端口)、连接目标在境外或已知恶意ASN段、连接持续活跃但无用户交互。可这样快速筛查:
- 只看 established 状态的 TCP 外连:
lsof -iTCP -sTCP:ESTABLISHED -n -P | grep -v "127.0.0.1\|::1\|localhost" - 排除系统常见服务进程(如 sshd、systemd-networkd、dbus):
... | grep -vE "(sshd|systemd|dbus|NetworkManager)" - 加时间戳便于比对变化:
while true; do echo "=== $(date) ==="; lsof -iTCP -sTCP:ESTABLISHED -n -P 2>/dev/null | grep -vE "(127\.0\.0\.1|::1|localhost|sshd|systemd|dbus)"; sleep 3; done
识别高风险连接的实用线索
单次输出中需人工关注以下信号:
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
-
未知进程名 + 非标准端口:例如
./xmr-miner连185.192.64.12:5555,或java进程连45.90.28.177:443(但未走 HTTPS User-Agent 流量) -
IP 地址无反向DNS 或域名可疑:用
host 185.192.64.12查不到有效域名,或返回类似vm123456789.hostingprovider.ru -
连接指向已知恶意IP段:可本地缓存一份 FireHOL IPset 的恶意IP列表,用
awk '{print $1}' malicious-ips.txt | grep -Ff - /dev/null | awk '{print $9}' | cut -d':' -f1 | sort -u)快速匹配
结合 netstat 和 ss 做交叉验证
lsof -i 依赖 /proc 文件系统,部分 Rootkit 可能隐藏自身。建议同步运行:
-
ss -tunp | grep ESTAB(更轻量,内核态数据,绕过部分用户态劫持) -
netstat -tunp 2>/dev/null | grep ESTAB(兼容老系统) - 对比三者输出差异:若
lsof显示某连接而ss不显示,需警惕进程被隐藏
进阶建议:用 inotifywait 监控网络相关进程行为
真正持久化木马往往通过子进程或动态库注入发起连接。可监控关键路径变动:
- 监控 /proc/*/fd/ 下新出现的 socket 文件:
inotifywait -m -e create /proc/*/fd/ 2>/dev/null | grep socket(需 root) - 记录新启动的网络相关进程:
auditctl -a always,exit -F arch=b64 -S connect -k net_connect,再用ausearch -k net_connect --start today | aureport -f -i - 定期导出当前所有网络连接快照并 diff:
lsof -iTCP -sTCP:ESTABLISHED -n -P > /tmp/lsof-$(date +%s).log,配合diff观察新增项










