问题描述
- linux下某程序中实现对进程的实时流量监控功能
-
求大牛赐教现在开发了一个程序,在linux下跑,想在里面加一个对特定进程的网络流量监控,实时统计进程流量大小
现在想到的办法就是用libpcap库,对应/proc里面文件按照pid 端口号 数据包 数据大小 进行统计得出当前流量大小。
目前有如下问题:
1.程序中已有功能中已经使用了libpcap去抓去一段数据包然后输出libpcap文件,如果按照上述办法,会不会造成再用libpcap采集数据包出问题?或者说libpcap可不可以多次同时抓取同一个数据包?
2.一定要在程序内部实现,目前知道的的可监听端口的软件,都有独立的显示界面,没有办法后台运行然后把统计信息放到我自己的程序里面,有没有可行的软件可以通过我自己的程序去调用然后获取统计信息?要是都不行。。。linux怎么通过api获取进程网络流量信息或者数据包。。。
求解
解决方案
http://369369.blog.51cto.com/319630/805726/
解决方案二:
既然已有libcap,那么就抓同一份好了,只是你多分析一次。如果现有抓的包不满足的需求,那么就你再多抓电包。
无非就是一个时间内的包个数,然后计算流量。
时间: 2024-10-31 05:31:13