2011-09-24 12 views
13

Sto cercando di rilevare i dispositivi Apple connessi a una rete wireless. Questo è relativamente semplice con Bonjour, tuttavia sto anche cercando di scoprire che tipo di dispositivo è. Ad esempio, un MacBook Air, un MacBook Pro, un MacPro, un iPhone, un iPod o un iPad.un modo per rilevare iPad o iPhone sulla rete wireless? Buongiorno?

ho scoperto che le richieste di Bonjour per MacBook e MacPros includono una risposta "sezione Additional" alla query, che comprende il modello:

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

e

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

Da testare un iPhone (3GS e 4), un iPod touch e un iPad2, tutti gli iDevice rispondono solo con il loro nome:

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

Chiaramente, il nome potrebbe non riflettere il dispositivo. Quindi, non vorrei provare a estrapolare il tipo di dispositivo dal nome. Qualcuno conosce altri modi per rilevare i tipi di iDevice?


Edit: tanto per essere chiari, il comando che sto usando è: scavare @ 224.0.0.251 -p5353 -x 192.168.1.111 ... sostituendo l'indirizzo IP del dispositivo di Apple

+2

Mi chiedo se potrebbe esserci un modo per farlo utilizzando gli indirizzi mac? Esistono certamente elenchi dei prefissi dei fornitori, che potrebbero darti Apple Inc, (mi dispiace meno utile di MDNS), ma mi chiedo se potresti trovare o compilare un elenco più dettagliato per aiutarti a raggiungere il livello del dispositivo. – digitalsean

+1

Se non hai bisogno di informazioni affidabili al 100%, usare il nome non sembra una cattiva idea. Da quello che ho visto il 99% degli utenti mantiene il nome del dispositivo "User's iPad/iPod/iPhone" ecc. – Danra

+0

usa + short per sputare solo l'ID del client senza altra verbosità, come in: dig + short -x 192.168. 1.2 @ 224.0.0.251 -p 5353 –

risposta

8

Usa porta 62078

l'indicatore più affidabile che ho visto è se è possibile connettersi alla porta IP 62078.

Port 62078 viene utilizzato per il servizio "iphone-sync", e non credo MacBook usarlo . Questa porta sembra sempre aperta per gli iPhone e gli iPad della nostra (molto piccola) rete.

Forse (ma non probabilmente) ci sono messaggi è possibile inviare alla porta per fiutare maggiori dettagli ...

penso che la lista ufficiale dei xml assegnamenti delle porte è qui, anche se non stava lavorando per me solo ora: http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml

indirizzo MAC

In teoria gli indirizzi MAC potrebbero aiutare - ma probabilmente non serve a molto se non si possono trovare da qualche parte che gestisce un elenco affidabile di intervalli (ad esempio, una società di sicurezza di rete, o har fornitore di dware). Gli indirizzi MAC dipendono dai chip effettivi usati (o da un MAC lampeggiante). Il database è a livello di organizzazione (anche se le organizzazioni a volte scelgono di utilizzare intervalli specifici per dispositivi specifici).

http://standards.ieee.org/develop/regauth/oui/public.html consente di scaricare il database di "Identificatori univoci dell'organizzazione", oppure è possibile cercare "Apple" o i primi tre byte di un indirizzo MAC, ad es. 00264A.

Aneddoticamente, la ricerca MAC non funziona ... Le prime tre cifre del mio iPad MAC sono 28-68-BA e questo non produce nulla.

User agent

Probabilmente non utile, ma se si può guardare il traffico di rete o di avere un proxy HTTP, quindi la stringa user-agent potrebbe aiutare (vedi http://developer.apple.com/library/IOS/documentation/AppleApplications/Reference/SafariWebContent/OptimizingforSafarioniPhone/OptimizingforSafarioniPhone.html#//apple_ref/doc/uid/TP40006517-SW3).

Edit (aggiunta):

protocollo Bonjour di Apple si basa su Multicast DNS (mDNS) operante a porta UDP 5353 e invia a questi indirizzi di gruppo riservati: IPv4 Group Indirizzo - 224.0.0.251, Gruppo Indirizzo IPv6 - FF02: : FB - reference.

Ciò consentirebbe di ottenere una notifica push quando i dispositivi Apple si connettono a una rete locale (collegamento locale) ascoltando i messaggi multicast su UDP 5353. Forse fiutare il pacchetto e vedere se ha qualche informazione in più in esso :)

Anche se presumo che Bonjour API consente inoltre di vedere questo ...

-1

È possibile anche l'utilità dell'aeroporto per farlo manualmente:

1) aperto utility amministrazione airport 2) Vai su "client wireless" (passaggio del mouse dalla freccia e fare clic su di esso) 3) Vai a client DHCP, e vedrete iPad, iPhone, nome del computer, ecc ... come la colonna ID cliente.

Problemi correlati