2011-09-24 64 views
13

我正在嘗試檢測連接到無線網絡的Apple設備。這是使用Bonjour相對簡單,但我也試圖檢測它是什麼樣的設備。像MacBook Air,MacBook Pro,MacPro,iPhone,iPod或iPad一樣。任何方式來檢測無線網絡上的iPad或iPhone?你好?

我發現,卓悅請求MacBook的和MacPros包括「附加部分」響應,其中包括型號查詢:

;; 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" 

從測試的iPhone(3GS和4),iPod touch和iPad2,所有iDevices都只回應它們的名稱:

;; 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

使用+簡寫出沒有其他語言的客戶端ID,如:dig + short -x 192.168。 1.2 @ 224.0.0.251 -p 5353 –

回答

8

使用的IP地址端口62078

我所見過的最可靠的指標是你是否可以連接到IP端口62078.

端口62078用於「iphone同步」的服務,而且我不認爲MacBook筆記本使用。這個端口似乎對我們(非常小)的網絡上的iPhone和iPad開放。

可能(但不是可能)有,你可以發送到端口嗅出了更多的細節

我想端口assignements的官方XML列表在這裏的消息......,雖然它不是爲工作我剛纔: http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml

MAC地址

理論上的MAC地址可能會幫助 - 但保留範圍的可靠的名單可能沒有多大用處,除非你能找到的地方(如網絡安全公司,或har dware提供商)。 MAC地址取決於使用的實際芯片(或閃存的MAC)。數據庫處於組織級別(儘管組織有時會選擇爲特定設備使用特定範圍)。

http://standards.ieee.org/develop/regauth/oui/public.html允許您下載「組織唯一標識符」的數據庫,或者您可以查找「Apple」或MAC地址的前三個字節,例如00264A。

有趣的是,MAC查找不起作用...我的iPad MAC的前三位數字是28-68-BA,並且什麼也沒有。

用戶代理

可能沒有必要,但如果你可以觀看網絡流量或有一個HTTP代理,那麼用戶代理字符串可以幫助(見http://developer.apple.com/library/IOS/documentation/AppleApplications/Reference/SafariWebContent/OptimizingforSafarioniPhone/OptimizingforSafarioniPhone.html#//apple_ref/doc/uid/TP40006517-SW3)。

編輯(添加):

蘋果的Bonjour協議依賴於多播DNS(的mDNS)在UDP端口5353操作並且向這些保留的組地址:IPv4的組地址 - 224.0.0.251,IPv6的組地址 - FF02: :FB - reference

當Apple設備通過偵聽5353 UDP上的多播消息連接到本地網絡(鏈路本地)時,這將有助於獲取推送通知。也許嗅探包,看看是否有任何額外的信息吧:)

雖然我推測,卓悅API還允許看到這個...

-1

您也可以你在機場實用工具手動做到這一點:

1)開放Airport工具程式 2)箭頭進入「無線客戶端」(懸停鼠標點擊) 3)進入DHCP客戶端,你將看到的iPad,iPhone,計算機名稱等..作爲客戶端ID列。

相關問題