首页 > 解决方案 > 每 15 分钟捕获一次使用端口 6881 的进程的 pid

问题描述

我可以从 tcpdump 中看到,内部 linux 服务器大约每 15 分钟尝试联系外部计算机:端口上的一个 udp 数据包6881(bittorrent),仅此而已。

由于这个服务器不应该联系任何人,我想找出是什么邪恶的灵魂产生了这个数据包,即我需要一些关于进程的信息(例如pid,文件,...)。

因为时间跨度太短,我不能使用netstator lsof

该进程可能会在大约半微秒内处于活动状态,然后它会destination unreachable (port unreachable)从防火墙获得一个。

我可以通过 ssh 访问机器。

如何捕获每个 PID 的网络数据包?建议使用tcpdumpoption -k,但是 linuxtcpdump没有这样的选项。

标签: portpidtcpdump

解决方案


很明显,你不能用 TCPDump 做到这一点,但你可以从主机本身做到这一点。特别是因为它是没有状态的 UDP,并且由于您无法预测进程何时会监听,您应该考虑使用内核审计功能。例如:

 auditctl -a exit,always -F arch=b64 -F a0=2 -F a1\&=2 -S socket -k SOCKET

这指示内核在有套接字调用时生成审计事件。完成此操作后,您可以等到看到可疑数据包离开机器,然后ausearch不仅可以跟踪进程,还可以跟踪发出调用的二进制文件。


推荐阅读