如何在c(linux)中监控字节进出网络流量
我想知道是否有监控linux机器上进出的网络流量字节数的功能 我知道在windows上可以使用PDH查询数据,但我不确定在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
任何简单的解决方案或文档都将不胜感激。监控
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:链接它?链接什么?如果我没记错的话,这只是几行代码,并不复杂。