7

プロジェクトで現在接続されている WiFi ネットワークの MAC アドレスと SSID の両方を取得する方法を探しています。Tony Million の Reachabilityを使用して、ユーザーが WiFi ネットワークに接続しているかどうかを判断し、Kenial の NICInfoをテストして、iPhone の WiFi MAC アドレスのみを提供していることを確認しました。両方のプロジェクトはそれぞれの方法で大いに役立ちましたが、仕事を成し遂げることはできませんでした。これを実現するためのパブリック API (特定の Apple App Approval 用) またはバックドアがあるかどうか疑問に思っています。

4

1 に答える 1

11

これには、いくつかの異なる事項が含まれます。

  1. SSID の取得 - これは MAC アドレスの問題とは無関係です。これについては、SO answer: iPhone get SSID without private library を確認してください。他の回答からのコードの再投稿に関するエチケットがわからないので、リンクします。

  2. MAC アドレスの取得 - ネットワークの大部分はレイヤー 3 (ネットワーク層と呼ばれ、誰が推測したか - http://en.wikipedia.org/wiki/OSI_model ) で動作し、MAC アドレスはレイヤー 2 (データ リンク層) まず、WiFi インターフェースのゲートウェイの IP アドレスを取得する必要があります。余談ですが、質問「現在接続されているWiFiネットワークのSSIDとWiFiルーター/ゲートウェイのMACアドレスを取得するにはどうすればよいですか」と表現する必要があります。誰でも、ゲートウェイ アドレスを取得するには、この SO の回答を参照してください: How to get the WIFI gateway address on the iPhone?

    それができたら、ARP (アドレス解決プロトコル、すべてのネットワークが IP アドレスを MAC アドレスに変換するために使用するプロトコル) を使用して MAC アドレスに変換する必要があります。ネットワーク インターフェイスは IP を介して通信するのではなく、MAC を介して通信するため、これは実際にはいつでもどこでも発生します。実際、PC/Mac で ARP テーブルにアクセスするのは非常に簡単です。iOS の場合、IP アドレスを MAC アドレスに変換する SO の回答が見つかりました: iPhone/iPad で ARP テーブルを取得する

于 2013-05-10T03:12:29.167 に答える