{"id":1303,"date":"2011-04-02T22:43:40","date_gmt":"2011-04-02T21:43:40","guid":{"rendered":"http:\/\/www.nausicamedia.fr\/blog\/?p=1303"},"modified":"2011-04-02T22:43:40","modified_gmt":"2011-04-02T21:43:40","slug":"mdnsresponder-mdns-et-dns-sd","status":"publish","type":"post","link":"https:\/\/nausicamedia.fr\/blog\/mdnsresponder-mdns-et-dns-sd\/","title":{"rendered":"mDNSResponder, mDNS et dns-sd"},"content":{"rendered":"<p>Le processus qui rend Bonjour possible est mDNSResponder, il est situ\u00e9 dans \/usr\/sbin. \/System\/Library\/LaunchDaemons\/com.apple.mDNSResponder.plist invoque mDNSResponder au d\u00e9marrage (boot). L\u2019une des fa\u00e7ons les plus faciles pour circonscrire un probl\u00e8me que vous pensez li\u00e9 \u00e0 Bonjour est de d\u00e9sactiver temporairement mDNSResponder :<\/p>\n<blockquote><p>launchctl unload -w \/System\/Library\/LaunchDaemons\/com.apple.mDNSResponder.plist<\/p><\/blockquote>\n<p>Pour le r\u00e9activer :<\/p>\n<blockquote><p>launchctl load -w \/System\/Library\/LaunchDaemons\/com.apple.mDNSResponder.plist<\/p><\/blockquote>\n<p>En addition de l\u2019activation et la d\u00e9sactivation de mDNSResponder, quand vous cherchez \u00e0 r\u00e9soudre un probl\u00e8me vous devriez toujours regarder les logs. Les \u00e9v\u00e9nements de logs sont enregistr\u00e9s \u00e0 la mani\u00e8re syslog et sont disponibles dans la Console. Ils sont situ\u00e9s \u00e0 \/var\/log\/system.log. En recherchant les erreurs li\u00e9s \u00e0 mDNSResponder dans system.log peut aussi \u00eatre fait en utilisant le Terminal :<\/p>\n<blockquote><p>cat \/var\/log\/system.log | grep mDNSResponder<\/p><\/blockquote>\n<p>Ou interactivement, vous pouvez chercher les erreurs comme elles apparaissent :<\/p>\n<blockquote><p>tail -f \/var\/log\/system.log | grep mDNSResponder<\/p><\/blockquote>\n<p>Afin d\u2019avoir plus d\u2019informations, envoyer une commande SIGUSR1 \u00e0 mDNSResponder en utilisant killall :<\/p>\n<blockquote><p>sudo killall -USR1 mDNSResponder<\/p><\/blockquote>\n<p>Pour voir les informations au niveau des paquets dans system.log, envoyez un SIGUSR2 \u00e0 mDNSResponder :<\/p>\n<blockquote><p>sudo killall -USR2 mDNSResponder<\/p><\/blockquote>\n<p>Pour copier l\u2019\u00e9tat dans system.log :<\/p>\n<blockquote><p>sudo killall -INFO mDNSResponder<\/p><\/blockquote>\n<p>mDNSResponder utilise Mach sur le port 5123. Chaque service qui a Bonjour impl\u00e9ment\u00e9 s\u2019enregistrera avec mDNSResponder sur ce port et pourra \u00eatre appel\u00e9. On retrouve le m\u00e9canisme des enregistrements DNS avec un pr\u00e9fixe pour le service et un suffixe pour le type TCP\/IP. Par exemple, IPP printing est _ipp._tcp., Apple Events distants est -EPPC._tcp., Remote Frame Buffer est _rfb._tcp., SSH est _ssh._tcp., SFTP est _sftp-SSH._tcp, Partage de Page Web est appel\u00e9 _home-sharing._tcp, le partage iTunes est _afpovertcp._tcp. et AFP est _afpovertcp._tcp. Un exemple de trafic UDPserait _net-assistant._udp.<\/p>\n<p>Si vous d\u00e9sirez voir quel service est enregistr\u00e9 (et enregistrer des sercies si vous contruisez un r\u00e9seaux de services qui le n\u00e9cessitent), utilisez la commande mDNS. L\u2019option -B pour mDNS peut \u00eatre utilis\u00e9 pour requ\u00e9rir un espace de noms. Par exemple, l\u2019espace de noms _afpovertcp._tcp peut \u00eatre appel\u00e9 en utlisant la commande suivante :<\/p>\n<blockquote><p>mDNS -B _afpovertcp._tcp<\/p><\/blockquote>\n<p>Le r\u00e9sultat serait le suivant, il montre toutes les instances <em>vivantes<\/em> que le syst\u00e8me voit :<\/p>\n<blockquote><p>Timestamp \u00a0 \u00a0 A\/R Flags Domain \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Service Type \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Instance Name<\/p>\n<p>22:53:15.988 \u00a0Add \u00a0 \u00a0 0 local. \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 _afpovertcp._tcp. \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Krypted MacBook Air<\/p><\/blockquote>\n<p>Pour enregistrer des services avec Bonjour, il faut utiliser l\u2019op\u00e9rateur -R et pour chercher des information au sujet d\u2019une instance donn\u00e9e d\u2019un service utilisez l\u2019op\u00e9rateur -L. L\u2019op\u00e9rateur -L vous permet d\u2019obtenir beaucoup d\u2019informations \u00e0 propos d\u2019un objet donn\u00e9. Une fois que vous avez trouv\u00e9 l\u2019objet en utilisant l\u2019option -B, vous aurez le Domaine et le nom de l\u2019instance. \u00a0Cela permettra \u00e0 mDNS d\u2019obtenir IPv4, IPv6, le num\u00e9ro de port, et les enregistrements TXT, qui fournissent une bande d\u2019options, tel que les informations des imprimantes et autres services et objets. Par exemple, Mac OS X \u00a0g\u00e9n\u00e8re aussi automatiquement des informations au sujet des imprimantes, fond\u00e9s sur les informations ins\u00e9r\u00e9es dans le syst\u00e8me au sujet de ces imprimantes, tel que le support d\u2019agrafage (Staple=F), le support de collation (Collate=T), et l\u2019url de l\u2019administrateur CUPS (adminurl:http\/\/\/&lt;computer name&gt;:631\/printers\/&lt;printername&gt;). D\u2019autres services comme le partage personnel fera un usage important du nom de la machine ou de l\u2019ID de la bas de donn\u00e9es d\u2019iTunes.<\/p>\n<p>Pour permettre \u00e0 mDNS d\u2019utiliser une sortie \u00e9tendue, utilisez la commande mDNS, avec l\u2019option -L, suivi du nom de l\u2019instance (le nom de l\u2019instance est d\u00e9fini par le service \u00e0 l\u2019enregistrement de l\u2019instance et peut \u00eatre le nom de l\u2019imprimante, le nom de l\u2019ordinateur ou ce que le vendeur choisit d\u2019utiliser). Apr\u00e8s le nom de l\u2019Instance, mettez l\u2019espace d\u2019adressage (le type de service) et ensuite le domaine donn\u00e9 pr\u00e9c\u00e9demment lors de l\u2019utilisation de l\u2019option -B. Par exemple, pour regarder une HP 8565 partag\u00e9 depuis le MacBook Air de Krypted appel\u00e9 \u00ab\u00a0HP 8565 Krypted MacBook Air\u00a0\u00bb, j\u2019utilise :<\/p>\n<blockquote><p>mDNS -L \u00ab\u00a0HP 8565 Krypted MacBook Air\u00a0\u00bb _ipp._tcp local.<\/p><\/blockquote>\n<p>D\u2019autres op\u00e9rateurs qui ne sont pas sur la page man, mais sont disponibles, inclut _E pour trouver des domaines d\u2019enregistrement recommand\u00e9s, -F pour trouver des informations au sujet des domaines navigu\u00e9s, -A pour tester des enregistrements mis \u00e0 jour, -U pour tester des enregistrements TXT, -N pour tester des mises \u00e0 jour d\u2019enregistrements NULL, -T pour tester des ajouts d\u2019enregistrements, -M pour de multiples enregistrements et -I pour mettre \u00e0 jour imm\u00e9diatement des enregistrements plut\u00f4t que d\u2019obliger \u00e0 travailler \u00e0 travers la m\u00e9moire cache. Disponible aussi pour appel\u00e9 est la commande dns-sd, utilisant la syntaxe identique \u00e0 mDNS et avec la m\u00eame sortie aussi. Les donn\u00e9es du syst\u00e8me ne change pas toujours dynamiquement. Pour recharger les informations apr\u00e8s des changements, utilisez l\u2019option flushcache de dscacheutil :<\/p>\n<blockquote><p>dscacheutil -flushcache<\/p>\n<p>&nbsp;<\/p><\/blockquote>\n<address><em>Cet article a paru le 27 mars 2011 sur le site Krypted<\/em><\/address>\n","protected":false},"excerpt":{"rendered":"<p>Le processus qui rend Bonjour possible est mDNSResponder, il est situ\u00e9 dans \/usr\/sbin. \/System\/Library\/LaunchDaemons\/com.apple.mDNSResponder.plist invoque mDNSResponder au d\u00e9marrage (boot). L\u2019une des fa\u00e7ons les plus faciles pour circonscrire un probl\u00e8me que vous pensez li\u00e9 \u00e0 Bonjour est de d\u00e9sactiver temporairement mDNSResponder : launchctl unload -w \/System\/Library\/LaunchDaemons\/com.apple.mDNSResponder.plist Pour le r\u00e9activer : launchctl load -w \/System\/Library\/LaunchDaemons\/com.apple.mDNSResponder.plist En addition [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[2],"tags":[16,42,53,62,68],"class_list":["post-1303","post","type-post","status-publish","format-standard","hentry","category-solution-apple","tag-bonjour","tag-mac-os-x","tag-mac-os-x-serveur","tag-solution-apple","tag-sysadmin"],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":6}},"jetpack_publicize_connections":[],"_links":{"self":[{"href":"https:\/\/nausicamedia.fr\/blog\/wp-json\/wp\/v2\/posts\/1303","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nausicamedia.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nausicamedia.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nausicamedia.fr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nausicamedia.fr\/blog\/wp-json\/wp\/v2\/comments?post=1303"}],"version-history":[{"count":0,"href":"https:\/\/nausicamedia.fr\/blog\/wp-json\/wp\/v2\/posts\/1303\/revisions"}],"wp:attachment":[{"href":"https:\/\/nausicamedia.fr\/blog\/wp-json\/wp\/v2\/media?parent=1303"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nausicamedia.fr\/blog\/wp-json\/wp\/v2\/categories?post=1303"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nausicamedia.fr\/blog\/wp-json\/wp\/v2\/tags?post=1303"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}