2013-05-09 28 views
6

我正在尋找一種方法來獲得MAC地址和我的項目中當前連接的WiFi網絡的SSID。我已使用Tony Million's Reachability來決定用戶何時在WiFi網絡上,並且僅在測試Kenial's NICInfo時才發現它僅提供iPhone的WiFi MAC地址。雖然這兩個項目都以自己的方式幫助很大,但他們沒有完成工作。 我想知道是否有一個公共API(對於某些Apple App Approval)或一些後門來實現這一點。是否有可能獲得當前連接的WiFi網絡的SSID和MAC地址在應用程序

+0

我想通過在iOS設備上的應用程序執行此 – 2013-05-09 21:16:18

回答

9

這涉及到幾個不同的事情:

  1. 獲取SSID - 這是一個獨立的MAC地址問題。爲此,請檢查此答案:iPhone get SSID without private library。我不知道什麼禮儀是關於重新發布其他答案的代碼,所以我只是鏈接。獲取MAC地址 - 因爲大多數網絡在第3層(這稱爲,誰會猜到,網絡層 - http://en.wikipedia.org/wiki/OSI_model)和MAC地址在第2層(數據鏈路層)運行,首先需要獲取WiFi接口網關的IP地址。只是一個側面說明 - 應該被視爲'如何獲得當前連接的WiFi網絡的SSID和WiFi路由器/網關的MAC地址'。 Anywho,得到網關地址,看到這樣的回答:How to get the WIFI gateway address on the iPhone?

    一旦你有,你需要使用ARP(地址解析協議,這是所有網絡用來轉換IP協議地址到MAC地址)。網絡接口不通過IP進行通信,而是通過MAC進行通信,因此這種情況實際上始終在各處發生。在PC/Mac上訪問ARP表格其實很簡單。對於iOS,我發現這個蘇答案將IP地址轉換爲MAC地址:Getting ARP table on iPhone/iPad

+2

我認爲最好是使用內置的圈養網絡類到Xcode獲取BSSID,這將做 – 2013-05-15 14:07:45

相關問題