2013-11-20 30 views
0

我必須爲android編寫網絡監視應用程序,其中一個必要條件是監視所有傳入和傳出的IP流量,我發現/ proc/stat/netstat文件我很確定包含我想要的,問題是:我無法找到任何地方如何閱讀它。 任何人都知道/ proc/stat/netstat的內部格式?我必須監視系統正在生成的IP流量,並且我在該文件中找到一個名爲「IpExt」的條目,其中包含一些數字,但我無法弄清楚其中的含義......任何人都知道?如何在Android上監視傳入和傳出的IP流量

感謝

回答

0

在Linux內核中的淨/的IPv4/proc.c文件做到這一點。

/* Following items are displayed in /proc/net/netstat */ 
static const struct snmp_mib snmp4_ipextstats_list[] = { 
     SNMP_MIB_ITEM("InNoRoutes", IPSTATS_MIB_INNOROUTES), 
     SNMP_MIB_ITEM("InTruncatedPkts", IPSTATS_MIB_INTRUNCATEDPKTS), 
     SNMP_MIB_ITEM("InMcastPkts", IPSTATS_MIB_INMCASTPKTS), 
     SNMP_MIB_ITEM("OutMcastPkts", IPSTATS_MIB_OUTMCASTPKTS), 
     SNMP_MIB_ITEM("InBcastPkts", IPSTATS_MIB_INBCASTPKTS), 
     SNMP_MIB_ITEM("OutBcastPkts", IPSTATS_MIB_OUTBCASTPKTS), 
     SNMP_MIB_ITEM("InOctets", IPSTATS_MIB_INOCTETS), 
     SNMP_MIB_ITEM("OutOctets", IPSTATS_MIB_OUTOCTETS), 
     SNMP_MIB_ITEM("InMcastOctets", IPSTATS_MIB_INMCASTOCTETS), 
     SNMP_MIB_ITEM("OutMcastOctets", IPSTATS_MIB_OUTMCASTOCTETS), 
     SNMP_MIB_ITEM("InBcastOctets", IPSTATS_MIB_INBCASTOCTETS), 
     SNMP_MIB_ITEM("OutBcastOctets", IPSTATS_MIB_OUTBCASTOCTETS), 
     /* Non RFC4293 fields */ 
     SNMP_MIB_ITEM("InCsumErrors", IPSTATS_MIB_CSUMERRORS), 
     SNMP_MIB_ITEM("InNoECTPkts", IPSTATS_MIB_NOECTPKTS), 
     SNMP_MIB_ITEM("InECT1Pkts", IPSTATS_MIB_ECT1PKTS), 
     SNMP_MIB_ITEM("InECT0Pkts", IPSTATS_MIB_ECT0PKTS), 
     SNMP_MIB_ITEM("InCEPkts", IPSTATS_MIB_CEPKTS), 
     SNMP_MIB_SENTINEL 
};