Android上的流量监控思路

http://www.kernelchina.org/?q=node/565

Android上的流量监控思路

appleleaf's picture
Submitted by appleleaf on Thu, 2011-01-06 10:59

看了一下linux提供的API以及相关代码,基本有一些结论。

1.协议栈对于每socket并不维护统计信息,因为没有必要添加相关信息,一则影响性能,二则无处保存。

通过NetLink的 NETLINK_TCPDIAG无法实现,该接口被iproute2中的工具使用,提供一些系统快照信息。其中2.6的实现是读取tcp_info结构获取tcp connection的快照信息,相关信息中也没有包含统计信息。

有关netlink,有网文描述下面RFC是其标准定义,

RFC 3549 Linux Netlink as an IP Services Protocol

简单的看了一下这个RFC,其实是将netlink作为网络协议使用的一个informational RFC。作为IETF是从来不care主机内部实现的,因此这个RFC也一定不能称为linux netlink的定义。

2.可行思路之一是通过netfilter架构采集信息,但是Android的Netfilter没有被编译到标准的kernel。

看了一下有些大侠已经实现的类似工具,基本上要刷系统,内核中添加netfilter编译支持来实现。

3.可行思路之二是在Java层面对于应用收发流量进行获取,尚不知Java是否提供相关接口用于监控虚拟机。另外Android的虚拟机也是非标准的Google自己的,功能有待研究。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值