gpt4 book ai didi

linux - 使用 netlink inet_diag 进行实时套接字监控

转载 作者:IT王子 更新时间:2023-10-29 00:37:57 24 4
gpt4 key购买 nike

我的目标是监控套接字并将它们与创建它们的应用程序相关联。
我知道 netstat、ss、lsof 等,它们可以列出所有套接字及其应用程序。
而且我还知道我可以解析 /proc/net/tcp 以获取套接字并将它们与具有 /proc/(PID) 的应用程序相关联,这正是这些工具可以,或者它们使用 netlink 套接字。

我的研究将我带到了一个 article它解释了如何通过 inet_diag 协议(protocol)使用 netlink 从内核获取所有套接字。用户空间程序建立一个 inet_diag 类型的 netlink 套接字,并向内核发送请求。响应由几条消息组成,其中包含套接字和其他相关信息。
这真的很好,但不幸的是,内核在每个请求中只发送一次此信息。所以我必须不断地“轮询”。

进一步的研究将我带到了另一个 article它通过 netlink 路由套接字持续监视接口(interface)的 IP 变化。套接字绑定(bind)到多播组,然后在无限循环中从中读取消息。

所以我调查了 inet_diag 套接字是否存在相同的可能性。不幸的是,我并不能真正理解内核代码。但据我所知,这个套接字系列没有多播组。

此时我被卡住了,我需要知道这种方法是否可行或者有人知道任何其他提示。

最佳答案

如果您提到的每个工具都不能满足您的要求,您可以尝试使用dtrace

关于linux - 使用 netlink inet_diag 进行实时套接字监控,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18541517/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com