découvrir le nom du périphérique iOS en utilisant le mDNS
dig -x the.ip @224.0.0.251 -p 5353
) fonctionne contre un Mac qui ne diffuse pas autrement de services Bonjour, il ne fonctionne pas à moins que Wi-Fi Sync soit en cours d'exécution ou un autre service Bonjour sur un appareil iOS. Je ne sais pas comment obtenir le nom autrement, mais ces applications de manière fiable l'obtenir. J'ai utilisé Wireshark pendant que iNet découvrait et je ne vois que les requêtes ICMP et NetBios qui donnent 0 réponse.
notez aussi que j'ai déjà l'adresse IP de l'appareil en faisant un ping de diffusion et puis on analyse la table D'ARP. Je veux découvrir lequel des appareils découverts de cette façon sont des appareils iOS en obtenant leur nom d'appareil et en recherchant la chaîne de caractères "iPhone" ou "iPad".
notez également que le site Web de l'application iNet fournit ce qui suit sur la façon dont ils font des recherches IP inversées. Je suppose que ça veut dire qu'ils font une recherche DNS inversée et une recherche mDNS inversée pour chaque IP.
Reverse IP lookups (hostnames) are performed as unicast and multicast queries for every IP found.
-http://www.bananaglue.de/inet/index_e.php
1 réponses
avez-vous essayé l'outil en ligne de commande dns-sd?
Si vous tapez dns-sd -B _services._dns-sd._udp
pour obtenir tous les services disponibles, vous verrez qu'il y a un _whats-my-name
service disponible.
$ dns-sd -B _services._dns-sd._udp
Browsing for _services._dns-sd._udp
DATE: ---Tue 16 Dec 2014---
14:38:30.746 ...STARTING...
Timestamp A/R Flags if Domain Service Type Instance Name
14:38:30.747 Add 3 5 . _tcp.local. _nfs
14:38:30.747 Add 3 5 . _tcp.local. _afpovertcp
14:38:30.747 Add 3 5 . _tcp.local. _smb
14:38:30.747 Add 2 0 . _tcp.local. _whats-my-name
14:38:31.330 Add 3 10 . _tcp.local. _nfs
14:38:31.330 Add 3 10 . _tcp.local. _afpovertcp
14:38:31.330 Add 2 10 . _tcp.local. _smb
après cela, nous pouvons interroger pour ce service qui produit ce qui suit:
$ dns-sd -B _whats-my-name._tcp
Browsing for _whats-my-name._tcp
DATE: ---Tue 16 Dec 2014---
14:40:20.738 ...STARTING...
Timestamp A/R Flags if Domain Service Type Instance Name
14:40:20.742 Add 2 0 local. _whats-my-name._tcp. Blub MacBook Pro
Instance Name
est la partie intéressante ici. Je suppose que le _whats-my-name
le service est disponible sur tous les ordinateurs fonctionnant bonjour. Peut-être que vous pouvez traquer les requêtes envoyées et les reconstruire avec des outils bash de base si vous ne pouvez pas accéder à dns-sd dans tous les cas. Vous ne devriez pas utiliser dns-sd dans votre script. Vous devriez plutôt utiliser une implémentation spécifique du protocole pour votre langage de programmation.
Note: soyez conscient que le nom de l'appareil peut ne pas être fiable pour détecter avec quel appareil vous communiquez
j'Espère que vous aide.