zoukankan      html  css  js  c++  java
  • wifi,网关相关标识的获取

    获取WIFI的相关信息

     1 - (void)getWifiInfo
     2 {
     3     NSArray *ifs = (__bridge_transfer NSArray *)CNCopySupportedInterfaces();
     4     if (!ifs) {
     5         return ;
     6     }
     7     NSDictionary *info = nil;
     8     for (NSString *ifnam in ifs) {
     9         info = (__bridge_transfer NSDictionary *)CNCopyCurrentNetworkInfo((__bridge CFStringRef)ifnam);
    10         if (info && [info count]) {
    11             break;
    12         }
    13     }
    14     NSLog(@"WIFI名称 %@    MAC地址 %@",info[@"SSID"],info[@"BSSID"]);
    15 }

    获取WIFI网关以及子网掩码,端口等信息

     1 - (NSMutableDictionary *)getLocalInfoForCurrentWiFi {
     2     NSMutableDictionary *dict = [NSMutableDictionary dictionary];
     3     struct ifaddrs *interfaces = NULL;
     4     struct ifaddrs *temp_addr = NULL;
     5     int success = 0;
     6     // retrieve the current interfaces - returns 0 on success
     7     success = getifaddrs(&interfaces);
     8     if (success == 0) {
     9         // Loop through linked list of interfaces
    10         temp_addr = interfaces;
    11         //*/
    12         while(temp_addr != NULL) {
    13             if(temp_addr->ifa_addr->sa_family == AF_INET) {
    14                 // Check if interface is en0 which is the wifi connection on the iPhone
    15                 if([[NSString stringWithUTF8String:temp_addr->ifa_name] isEqualToString:@"en0"]) {
    16                     //----192.168.1.255 广播地址
    17                     NSString *broadcast = [NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *)temp_addr->ifa_dstaddr)->sin_addr)];
    18                     if (broadcast) {
    19                         [dict setObject:broadcast forKey:@"broadcast"];
    20                     }
    21                     NSLog(@"broadcast address--%@",broadcast);
    22                     //--192.168.1.106 本机地址
    23                     NSString *localIp = [NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *)temp_addr->ifa_addr)->sin_addr)];
    24                     if (localIp) {
    25                         [dict setObject:localIp forKey:@"localIp"];
    26                     }
    27                     NSLog(@"local device ip--%@",localIp);
    28                     //--255.255.255.0 子网掩码地址
    29                     NSString *netmask = [NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *)temp_addr->ifa_netmask)->sin_addr)];
    30                     if (netmask) {
    31                         [dict setObject:netmask forKey:@"netmask"];
    32                     }
    33                     NSLog(@"netmask--%@",netmask);
    34                     //--en0 端口地址
    35                     NSString *interface = [NSString stringWithUTF8String:temp_addr->ifa_name];
    36                     if (interface) {
    37                         [dict setObject:interface forKey:@"interface"];
    38                     }
    39                     NSLog(@"interface--%@",interface);
    40                     return dict;
    41                 }
    42             }
    43             temp_addr = temp_addr->ifa_next;
    44         }
    45     }
    46     // Free memory
    47     freeifaddrs(interfaces);
    48     return dict;
    49 }
  • 相关阅读:
    学习windows的半天+学习Git分布式系统的半天
    输出从1加到100的结果、打印100以内的质数、计算一个文件中的每个英文单词出现的次数
    Linux操作系统--初级--进程管理的命令
    Linux操作系统--初级--防火墙
    Linux操作系统--初级--dns服务
    Linux操作系统--初级--网络安全基础
    Linux操作系统--初级--进程管理
    Linux操作系统--初级--Linux网络
    Linux操作系统--初级--Linux磁盘管理
    Linux操作系统--初级--Linux的用户与用户组(权限管理)
  • 原文地址:https://www.cnblogs.com/zhanghuanan/p/5703644.html
Copyright © 2011-2022 走看看