每 15 分钟仅使用端口 6881 捕获一次进程的 pid
Capture pid of process using port 6881 only once every 15 min
我可以从 tcpdump 中看到内部 linux 服务器大约每 15 分钟尝试联系外部计算机:端口 6881
上的一个 udp 数据包(bittorrent),仅此而已。
因为这个服务器不应该联系任何人,我想找出是什么邪恶的灵魂产生了这个数据包,即我需要一些关于这个过程的信息(例如 pid
、文件、...) .
由于时间跨度太短,我无法使用netstat
或lsof
。
该进程可能会激活大约半微秒,然后它从防火墙获得 destination unreachable (port unreachable)
。
我可以通过 ssh 访问机器。
How can I capture network packets per PID?建议使用tcpdump
选项-k
,但是linuxtcpdump
没有这样的选项。
显然,您不能使用 TCPDump 执行此操作,但您可以从主机本身执行此操作。特别是因为它是没有状态的 UDP,并且由于您无法预测进程何时会监听,所以您应该考虑使用内核审计功能。例如:
auditctl -a exit,always -F arch=b64 -F a0=2 -F a1\&=2 -S socket -k SOCKET
这指示内核在有套接字调用时生成审计事件。完成后,您可以等到看到可疑数据包离开机器,然后使用 ausearch
不仅可以追踪进程,还可以追踪发出调用的二进制文件。
我可以从 tcpdump 中看到内部 linux 服务器大约每 15 分钟尝试联系外部计算机:端口 6881
上的一个 udp 数据包(bittorrent),仅此而已。
因为这个服务器不应该联系任何人,我想找出是什么邪恶的灵魂产生了这个数据包,即我需要一些关于这个过程的信息(例如 pid
、文件、...) .
由于时间跨度太短,我无法使用netstat
或lsof
。
该进程可能会激活大约半微秒,然后它从防火墙获得 destination unreachable (port unreachable)
。
我可以通过 ssh 访问机器。
How can I capture network packets per PID?建议使用tcpdump
选项-k
,但是linuxtcpdump
没有这样的选项。
显然,您不能使用 TCPDump 执行此操作,但您可以从主机本身执行此操作。特别是因为它是没有状态的 UDP,并且由于您无法预测进程何时会监听,所以您应该考虑使用内核审计功能。例如:
auditctl -a exit,always -F arch=b64 -F a0=2 -F a1\&=2 -S socket -k SOCKET
这指示内核在有套接字调用时生成审计事件。完成后,您可以等到看到可疑数据包离开机器,然后使用 ausearch
不仅可以追踪进程,还可以追踪发出调用的二进制文件。