如何在c(linux)中监控字节进出网络流量

如何在c(linux)中监控字节进出网络流量,c,linux,networking,monitoring,C,Linux,Networking,Monitoring,我想知道是否有监控linux机器上进出的网络流量字节数的功能 我知道在windows上可以使用PDH查询数据,但我不确定在linux上如何实现这一点 任何简单的解决方案或文档都将不胜感激。监控ip-s链接的输出。(或者,如果您希望以低级方式使用Netlink,则必须发送RTM_GETLINK消息,并在IFLA_STATS64属性中找到结果。)netstat-s将为您提供进出数据包的详细摘要。您可以更改格式以满足您的需要,或者如果您正在寻找可以微调得更好的内容,请尝试tcpdump与大多数linu

我想知道是否有监控linux机器上进出的网络流量字节数的功能

我知道在windows上可以使用PDH查询数据,但我不确定在linux上如何实现这一点


任何简单的解决方案或文档都将不胜感激。

监控
ip-s链接的输出。(或者,如果您希望以低级方式使用Netlink,则必须发送RTM_GETLINK消息,并在IFLA_STATS64属性中找到结果。)

netstat-s
将为您提供进出数据包的详细摘要。您可以更改格式以满足您的需要,或者如果您正在寻找可以微调得更好的内容,请尝试
tcpdump
与大多数linux Util一样,您可以从他们的
man
页面获得更多信息,例如
man netstat

您知道如何通过C代码文件获得这些信息吗。我不想调用
system()
或解析
netstat-s
的输出?有什么想法吗?@Shiplu:你可以下载netstat的源代码并找到它。同样,ifconfig的源代码也是如此。GPL授权太好了…@Zan,我在读了
ifconfig.c
之后问了这个问题。但是我没有找到任何网络工具库,所以我可以链接它。我唯一找到的是
lib/interface.h
,其中定义了
stuct interface
。我需要一种方法来使用它。@Shiplu:链接它?链接什么?如果我没记错的话,这只是几行代码,并不复杂。