能够检测iOS的WIFI,3G以及GPS的流量。

 

能够检测iOS的WIFI,3G以及GPS的流量。

 

-(void)checkNetworkflow{ 
    struct ifaddrs *ifa_list = 0, *ifa; 
    if (getifaddrs(&ifa;_list) == -1) 
    { 
        return; 
    } 
       
    uint32_t iBytes     = 0; 
    uint32_t oBytes     = 0; 
    uint32_t allFlow    = 0;  
    uint32_t wifiIBytes = 0; 
    uint32_t wifiOBytes = 0; 
    uint32_t wifiFlow   = 0; 
    uint32_t wwanIBytes = 0; 
    uint32_t wwanOBytes = 0; 
    uint32_t wwanFlow   = 0; 
    struct timeval time ; 
       
    for (ifa = ifa_list; ifa; ifa = ifa->ifa_next)  
    { 
        if (AF_LINK != ifa->ifa_addr->sa_family) 
            continue; 
           
        if (!(ifa->ifa_flags & IFF_UP) && !(ifa->ifa_flags & IFF_RUNNING)) 
            continue; 
           
        if (ifa->ifa_data == 0) 
            continue; 
           
        // Not a loopback device.  
        // network flow 
        if (strncmp(ifa->ifa_name, "lo", 2))  
        { 
            struct if_data *if_data = (struct if_data *)ifa->ifa_data; 
               
            iBytes += if_data->ifi_ibytes; 
            oBytes += if_data->ifi_obytes; 
            allFlow = iBytes + oBytes; 
            time = if_data->ifi_lastchange; 
        } 
           
        //wifi flow 
        if (!strcmp(ifa->ifa_name, "en0"))    
        {   
            struct if_data *if_data = (struct if_data *)ifa->ifa_data;   
               
            wifiIBytes += if_data->ifi_ibytes;   
            wifiOBytes += if_data->ifi_obytes;  
            wifiFlow    = wifiIBytes + wifiOBytes; 
        }   
           
        //3G and gprs flow 
        if (!strcmp(ifa->ifa_name, "pdp_ip0"))    
        {   
            struct if_data *if_data = (struct if_data *)ifa->ifa_data;   
               
            wwanIBytes += if_data->ifi_ibytes;   
            wwanOBytes += if_data->ifi_obytes;   
            wwanFlow    = wwanIBytes + wwanOBytes; 
        }  
    } 
    freeifaddrs(ifa_list);     
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值