在我的应用中,我需要系统中每个接口的网络使用情况统计信息(接收的字节和数据包)。
我发现了如何在FreeBSD中做到这一点:
static int name[] = { CTL_NET, PF_LINK, NETLINK_GENERIC, IFMIB_SYSTEM, IFMIB_IFCOUNT };
sysctl(name, 5, &data, &len, NULL, 0)
但这在Linux中不起作用(我的4.14 Linux内核中没有PF_LINK标志,也没有if_mib.h)。而且我认为解析/ proc / net / dev实际上不是惯用的方式。
在哪里可以找到sysctl的所有标志(或仅是NET标志)的完整层次结构描述,以及它们对数据返回的影响?