objective-c - 如何使用 Objective-C 查找附近的 wifi 网络及其 IP 地址

标签 objective-c macos cocoa wifi corewlan

我必须找到附近的无线网络及其 IP 和 MAC 地址。我正在使用下面的代码来扫描网络,但我没有找到任何方法来获取可用网络的 IP 地址。

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来完成,但是如何获取其他无线网络的详细信息?

最佳答案

您可能知道,MAC 地址与网络的 BSSID 相同。关于 IP 地址,我认为您不走运,并且可能不应该将网络视为具有 IP 地址。网络上的设备具有 IP 地址,包括路由器、DHCP 服务器等,并且接入点可能在其所属的任何网络上具有一个或多个 IP 地址,但网络本身不一定具有 IP 地址IP地址。

假设它是您正在寻找的路由器 IP 地址,我怀疑您必须连接到每个网络才能检索它。据我所知,WLAN 也不会通告网络外部的任何 IP 地址,因为这对于网络外部的设备来说根本没有用处。只有当客户端连接到 WLAN 时,路由器或 DHCP 服务器的 IP 地址才有意义。我怀疑在技术上也可以在不连接任何设备的情况下拥有 WLAN。

关于objective-c - 如何使用 Objective-C 查找附近的 wifi 网络及其 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29920317/

相关文章:

objective-c - 我的 iPhone 应用程序的这个 Objective-C 线程代码有什么问题?

ios - UITableView 未填满屏幕底部

c++ - C/C++ 有效指针,但获取 EXC_BAD_ACCESS 和 KERN_INVALID_ADDRESS

objective-c - 关闭 NSWindow 而不激活下面的窗口

iphone - 这个 Obj-C "unrecognized selector sent to instance"异常表示什么?

ios - 通过 iTunes(或其他?)访问 iOS 应用程序中的 .plist 文件

java - IntelliJ IDEA 调试器在 macOS 上启动太慢

objective-c - 表明返回的实例是派生类

string - 如何在 Swift 中从 NSData 初始化一个字符串

objective-c - iOS 的第一语言? Rubymotion 与 C、Objective C 与其他