Get WIFI SSID and BSSID

Because of  CNCopySupportedInterfaces() methods are depracted now

But they still worked at the beginning

So i will give two ways to slove this problem in different system version

 1 import NetworkExtension
 2 import SystemConfiguration.CaptiveNetwork
 3
 4 static func getWIFIInformation() -> [String:String]{
 5         var informationDictionary = [String:String]()
 6         if #available(iOS 9.0, *) {
 7             let information = NEHotspotHelper.supportedNetworkInterfaces()
 8             informationDictionary["SSID"] = information[0].SSID!
 9             informationDictionary["BSSID"] = information[0].BSSID!
10             return informationDictionary
11
12         } else {
13             // Fallback on earlier versions
14             let informationArray:NSArray? = CNCopySupportedInterfaces()
15             if let information = informationArray {
16                 let dict:NSDictionary? = CNCopyCurrentNetworkInfo(information[0] as! CFStringRef)
17                 if let temp = dict {
18                     informationDictionary["SSID"] = String(temp["SSID"]!)
19                     informationDictionary["BSSID"] = String(temp["BSSID"]!)
20                     return informationDictionary
21                 }
22             }
23         }
24         return informationDictionary
25     }

Result:

Environment:

Xcode7.0 ,Swift 2.1,iPhone 7.1.4

Reference:

iPhone get SSID without private library

How to get Wifi SSID in iOS9 after CaptiveNetwork is depracted and calls for Wifi name are already blocked

时间: 2024-10-20 17:46:53

Get WIFI SSID and BSSID的相关文章

Open Wifi SSID Broadcast vulnerability

Open Wifi SSID Broadcast vulnerability 0x00 前言 前几天,看到微博上@RAyH4c分享了一份老外关于wifi钓鱼的文章,觉得挺好的,便翻译了一下.第一次翻译,英语水平堪堪才过4级,翻的不好请大家见谅,凑合着看吧. 附上原文地址:https://www.os3.nl/_media/2012-2013/courses/ssn/open_wifi_ssid_broadcast_vulnerability.pdf 0x01 摘要 一些厂商更想传递更好的用户体验

有关WiFi SSID的获取

许久没有做一些总结了,最近项目有些忙. 在获取Android终端连接WiFi的SSID时(也就是你当前手机连接的无线网名称),发现了一个问题,不同的Android版本下获取到的SSID是有一些差别的,当然名字不会变. 举个例子,比如我配置了WiFi的名称是haha,有些手机获取到的就是haha,而有些获取到的却是"haha"--加了双引号.有这么一个需求,控制用户连接指定的WiFi.假定允许连接的WiFi列表里面有haha,hehe,houhou,huhu四个,如果获取到用户当前连接的

无线网络RSSI、SSID、BSSID

获取无线网络,及无线网络的参数之前,我们先了解一下RSSI,SSID和BSSID分别是什么,当然你可以去百度或者维基百科查阅,我这里只是简单的说明一下.RSSI就是无线网络的信号强度,这个是和无线AP(如,路由器)的距离有关的一个参数.SSID就是无线AP的名称,即我们通常在我们手机或者笔记本中搜索到的无线网络名称,这个参数对于不同的无线AP可以是相同的,就当我们连接这个无线网络的时候就是无缝连接.但前提是无线AP必须的同类型的,否则不能进行无缝过渡或者网络漫游.BSSID类似于MAC地址一样,

WIFI SSID嗅探技术科普[附脚本]

最近在朋友圈看到了一篇文章,就是科普国外的那个利用无人机飞过人群来进行中间人攻击的.主要利用的是智能手机(Android低于5.0,IOS低于8.0版本)的一个安全缺陷:在某网络环境下,如果里面出现你曾经连接过的WIFI SSID,不管这个WIFI是否真的是你以前那个,你的手机都将会自动滑行进去连接.是不是很奇葩? 本文主要讲的关于Android的这个"缺陷"的成因以及利用,分成两种不同的利用方式,因为aircrack-ng嗅探的文章,大牛们都写过了.那俺就不重复造轮子了.想看的查阅这

关于android 不同版本号获取wifi SSID,真的没话说了

真的没话说了.......,为何要这样.......,认为好玩吗.......,谷歌那个写这个获取wifiSSID的接口的project师闲的蛋疼. 获取wifiSSID的方法例如以下: android.net.wifi.WifiManager mWifiManager = (WifiManager) MainActivity.this .getSystemService(Context.WIFI_SERVICE); android.net.wifi.WifiInfo mWifiInfo = m

路由器中的SSID和BSSID

淡淡的生活才 5级2012-08-02 BSSID就是你的无线路由器的基本的SSID号,与它对应的有一个ESSID用于实现无线桥接功能的.如果只有一个无线路由器,只需要配置一个唯一的BSSID号即可.如果需要无线桥接,要把ESSID号配置为相同才能实现无线桥接功能. 希望对你有用. 评论(0)00 高兴 15级2012-08-02 2个路由器使用一个SSID的..即同一个无线网络

关于android 不同版本获取wifi SSID,真的没话说了

真的没话说了.......,为何要这样.......,觉得好玩吗.......,谷歌那个写这个获取wifiSSID的接口的工程师闲的蛋疼. 获取wifiSSID的方法如下: android.net.wifi.WifiManager mWifiManager = (WifiManager) MainActivity.this .getSystemService(Context.WIFI_SERVICE); android.net.wifi.WifiInfo mWifiInfo = mWifiMan

【Swift】在Swift中获取当前的wifi SSID

    func getSSID() -> String? {         let interfaces: CFArray! = CNCopySupportedInterfaces()?.takeRetainedValue()         if interfaces == nil { return nil }                  let if0: UnsafePointer<Void>? = CFArrayGetValueAtIndex(interfaces, 0)

【IOS】获取wifi名称 (即SSID)

iOS 获取wifi ssid 名称 SSID全称Service Set IDentifier, 即Wifi网络的公开名称.在IOS 4.1以上版本提供了公开的方法来获取该信息. 首先添加框架:SystemConfiguration.framework 1 #import <SystemConfiguration/CaptiveNetwork.h> 2 - (id)fetchSSIDInfo 3 { 4 NSArray *ifs = (id)CNCopySupportedInterfaces(