如何在 C++ 中使用 tcp_diag?

问题描述 投票:0回答:3

我已经用谷歌搜索了很多地方,但我仍然不知所措。 tcp_diag 应该取代 /proc/net/tcp,但我找不到关于如何使用它的任何文档。请告诉我如何 #include 它,以及它有哪些方法、类和函数。谢谢!

c++ linux tcp
3个回答
5
投票

您创建一个具有域 AF_NETLINK 和协议 NETLINK_INET_DIAG 的 DGRAM 套接字。然后你使用netlink协议与内核进行通信并获取你需要的信息。

进一步阅读:


2
投票

tcp_diag 内核模块不提供可调用的 C 或 C++ 函数。它通过使某些特殊“文件”(如 /proc/net/tcp)存在来提供其接口。您可以通过将该文件作为普通文件读取,或者使用可执行工具(例如

ss
或较旧的
netstat
)来直接获取该信息。


0
投票

这可能有点过时,但刚刚发现这个:https://man7.org/linux/man-pages/man7/sock_diag.7.html

© www.soinside.com 2019 - 2024. All rights reserved.