port - 每 15 分钟捕获一次使用端口 6881 的进程的 pid
问题描述
我可以从 tcpdump 中看到,内部 linux 服务器大约每 15 分钟尝试联系外部计算机:端口上的一个 udp 数据包6881
(bittorrent),仅此而已。
由于这个服务器不应该联系任何人,我想找出是什么邪恶的灵魂产生了这个数据包,即我需要一些关于进程的信息(例如pid
,文件,...)。
因为时间跨度太短,我不能使用netstat
or lsof
。
该进程可能会在大约半微秒内处于活动状态,然后它会destination unreachable (port unreachable)
从防火墙获得一个。
我可以通过 ssh 访问机器。
如何捕获每个 PID 的网络数据包?建议使用tcpdump
option -k
,但是 linuxtcpdump
没有这样的选项。
解决方案
很明显,你不能用 TCPDump 做到这一点,但你可以从主机本身做到这一点。特别是因为它是没有状态的 UDP,并且由于您无法预测进程何时会监听,您应该考虑使用内核审计功能。例如:
auditctl -a exit,always -F arch=b64 -F a0=2 -F a1\&=2 -S socket -k SOCKET
这指示内核在有套接字调用时生成审计事件。完成此操作后,您可以等到看到可疑数据包离开机器,然后ausearch
不仅可以跟踪进程,还可以跟踪发出调用的二进制文件。
推荐阅读
- python - 在列表python中查找下一个实体
- twilio - 响铃组:将后续呼叫与初始呼叫关联
- javascript - 函数 javascript args 像 jQuery 一样接收值
- swift - 计算字符串几何尺寸时的差异
- javascript - 当我单击单选按钮时,它的 true 或自动其他 Span 值变为 false
- haskell - 对列表中的一对列表 Haskell
- reactjs - 使用 HOC、React Context 和 componentDidMount API 从 Firebase 获取 uid
- c# - System.Data.SqlClient.SqlException:''('.' 附近的语法不正确。'
- java - 在 Spring Web 应用程序中创建自定义 JSONresponse
- javascript - 比较数组并添加?