2015-04-28 51 views
0

我必須找到附近的無線網絡及其IP和MAC地址。我正在使用下面的一段代碼來掃描網絡,但我沒有找到任何方法來獲取可用網絡的IP地址。如何使用Objective-C找到附近的無線網絡及其IP地址C

CWInterface* wifi = [[CWWiFiClient sharedWiFiClient] interface]; 
NSError *err = nil; 
NSSet *networksSet = [wifi scanForNetworksWithName:nil error:&err]; 
NSArray *allNetworks = [networksSet allObjects]; 
for (CWNetwork *network in allNetworks) { 
    NSLog(@"SSID : %@",network.ssid); 
    NSLog(@"BSSID : %@",network.bssid); 
} 

這可以使用Apple提供的CoreWLAN.framework來完成,但是如何獲得其他無線網絡的詳細信息?

回答

2

您可能知道的MAC地址與網絡的BSSID相同。關於IP地址,我認爲你運氣不好,可能不應該把網絡想象成擁有IP地址。設備網絡上有IP地址,包括路由器,DHCP服務器等,並且接入點可能在它所屬的任何網絡上有一個或多個IP地址,但網絡本身不一定有IP地址。

假設它是您正在尋找的路由器IP地址,我會懷疑您必須連接到每個網絡才能檢索它。據我所知,無線局域網的廣告並不是網絡外的任何IP地址,因爲這對網絡外的設備根本沒用。只有當客戶端連接到WLAN時,路由器或DHCP服務器的IP地址纔有意義。我懷疑在沒有任何設備連接的情況下擁有WLAN也是技術上可行的。

+0

謝謝你的回答@Simon。我有一個小問題在技術上可以不使用連接來獲得路由器IP嗎?你也可以告訴我如何在連接到它後獲得路由器IP,我正在關注這個[獲得無線路由器地址](http://stackoverflow.com/questions/4872196/how-to-get-the-wifi-gateway-地址-ON-THE-iphone)。它會幫助 –

+0

據我所知它不是。我可能會誤解,但我的理解是,要求WLAN獲得IP地址類似於請求有線網絡中的電纜。想象一下,例如一個加密的網絡,你不會指望在網絡之外發布任何細節,對吧?雖然我不排除WLAN可能以某種方式向潛在客戶報告其路由器IP用於網絡識別目的的可能性,但我最好的選擇是首先連接。爲此,你所鏈接的SO問題應該爲你提供一個很好的起點。 – Simon

相關問題