2011-09-24 16 views
13

ワイヤレスネットワークに接続されているAppleデバイスを検出しようとしています。これはBonjourを使用して比較的簡単ですが、私はまた、どのような種類のデバイスであるかを検出しようとしています。 MacBook Air、MacBook Pro、MacPro、iPhone、iPod、またはiPadのようなものです。ワイヤレスネットワーク上のiPadsやiPhoneを検出する方法はありますか?ボンジュール?

私はのMacBookのとMacProsにBonjourの要求がモデルを含むクエリに "追加セクション" 応答含まれていることを発見した

:iPhoneをテストから

;; ADDITIONAL SECTION: 
Q9550._device-info._tcp.local. 10 IN TXT "model=MacPro3,1" 

;; ADDITIONAL SECTION: 
Air._device-info._tcp.local. 10 IN TXT "model=MacBookAir4,2" 

(3GSを4)、iPod touch、iPad2の場合、すべてのiDeviceはその名前で応答します:

;; ANSWER SECTION: 
111.1.168.192.in-addr.arpa. 10 IN PTR gmPad2.local. 

明らかに、名前がデバイスを反映していない可能性があります。だから、私はその名前からデバイスのタイプを推定しようとしません。誰もがiDeviceの種類を検出する他の方法を知っていますか?


編集:ちょうど明確にするために、私が使用しているコマンドは次のとおりです。224.0.0.251 @掘る-p5353 -x 192.168.1.111 ...アップルデバイス

+2

macアドレスを使用してこれを行う方法があるのだろうかと思いますか?確かにベンダープレフィックスのリストがありますが、これはApple Inc(MDNSよりもあまり有用ではない)ですが、あなたがデバイスレベルに到達するのに役立つより詳細なリストを見つけたり作成したりすることができるのだろうかと思います。 – digitalsean

+1

信頼できる情報を100%必要としない場合、その名前を使用することは悪い考えではありません。私が見たことから、ユーザーの99%がデバイス名「ユーザーのiPad/iPod/iPhone」などを保持します。 – Danra

+0

+ shortは、クライアントIDだけを吐き出すために、dig + short-x 192.168のように他の言葉を使わずに吐き出します。 1.2 @ 224.0.0.251 -p 5353 –

答えて

8

使用のIPアドレスに置き換えポート62078

私が見た中で最も信頼できる指標は、あなたが62078.

ポート62078は「iphone同期」サービスのために使用されている、と私はMacBookのは、それを使用するとは思わないIPポートに接続できるかどうかであります。このポートは、私たちの(非常に小さい)ネットワーク上のiPhonesとiPadsのために常に開いているようです。

おそらく(ただし、おそらく)あなたが詳細を嗅ぎ分けるためにポートに送信できるメッセージがある...

私はそれがために働いていなかったものの、ポートassignementsの公式XMLリストは、ここにあると思いますちょうど今の私:MACアドレスは役立つかもしれない理論的には http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml

MACアドレス

- しかし、範囲の信頼性のリストを維持し、あなたがどこかに見つけることができない限り、おそらくあまり使用(ネットワークセキュリティ企業、またはhar dwareプロバイダ)。 MACアドレスは実際に使用されるチップ(またはフラッシュされたMAC)に依存します。データベースは組織レベルにあります(ただし、特定のデバイスに特定の範囲を使用することもあります)。

http://standards.ieee.org/develop/regauth/oui/public.html "Organizationally Unique Identifiers"のデータベースをダウンロードしたり、AppleのMACアドレスの最初の3バイトを検索することができます。 00264A。

私のiPadのMACの最初の3桁は28-68-BAで、何も表示されません。

ユーザーエージェントおそらく

有用ではありませんが、あなたは、ネットワークトラフィックを監視またはHTTPプロキシを持つことができる場合は、ユーザーエージェント文字列は、(http://developer.apple.com/library/IOS/documentation/AppleApplications/Reference/SafariWebContent/OptimizingforSafarioniPhone/OptimizingforSafarioniPhone.html#//apple_ref/doc/uid/TP40006517-SW3を参照)に役立つ可能性があります。

編集(追加):

AppleのBonjourのプロトコルはUDPポート5353で動作するマルチキャストDNS(mDNSの)に依存しており、これらの予約グループアドレスに送信します。IPv4のグループアドレス - 224.0.0.251、IPv6のグループアドレス - FF02を: :FB-reference

Appleデバイスが5353 UDPでマルチキャストメッセージをリッスンすることによってローカルネットワーク(リンクローカル)に接続すると、プッシュ通知が得られます。おそらく、パケットを盗聴し、それはそれで余分な情報を持っているかどうかを確認:)

私はBonjourのAPIはまた、これを見てすることができますことを前提としますが...

-1

次を行うことができますまた、手動でこれを行うには、空港ユーティリティを:

1)オープンAirportUtility 2)矢印の「ワイヤレスクライアント」(ホバーマウスを移動して、それをクリックしてください) 3)DHCPクライアントに移動し、あなたはなどのiPad、iPhone、コンピュータ名、表示されます...クライアントID列として。

関連する問題