【问题标题】:How to find nearby wifi networks and their IP addresses using Objective-C如何使用 Objective-C 查找附近的 wifi 网络及其 IP 地址
【发布时间】:2015-07-07 08:33:45
【问题描述】:

我必须找到附近的无线网络及其 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 来完成,但是如何获取其他无线网络的详细信息?

【问题讨论】:

    标签: objective-c macos cocoa wifi corewlan


    【解决方案1】:

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

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

    【讨论】:

    • 感谢@Simon 的回答。我有一个小问题在技术上是否可以在不连接的情况下获得路由器 IP?也可以告诉我连接后如何获取路由器 IP,我正在关注这个get wifi router address。会有帮助吗
    • 据我所知并非如此。我可能弄错了,但我的理解是,向 WLAN 询问 IP 地址类似于向有线网络中的电缆询问 IP 地址。想象一下,例如一个加密的网络,你不会期望它会在网络之外提供任何细节,对吧?虽然我不排除 WLAN 可能会以某种方式将其路由器 IP 报告给潜在客户端以进行网络识别,但我最好的选择是先连接。为此,我认为您链接的 SO 问题应该为您提供一个很好的起点。
    猜你喜欢
    • 2018-02-13
    • 1970-01-01
    • 2014-08-21
    • 1970-01-01
    • 2019-06-13
    • 2015-11-03
    • 2021-10-25
    • 2013-03-05
    • 1970-01-01
    相关资源
    最近更新 更多