\chapter{Bonjour} \index{Bonjour} \label{chap:Bonjour} Bonjour (anciennement nommé RendezVous) est l'implémentation par Apple de la norme Zeroconf\index{zeroconf}. C'est un système de mise en réseau local automatique. Bonjour utilise le port \textbf{5353} en UDP\index{UDP}. Pour IPv4, la RFC 3927 de l'IETF définit l'allocation dynamique d'adresses IP dans la plage 169.254.0.0/16. Avahi\index{avahi} est une bibliothèque logicielle fournissant une implémentation libre des protocoles IPv4LL, mDNS et DNS-SD. % ----------------------------------------------------------- \section{Outils} Bon, maintenant, que faire de tout ça ? Explorer ce qui se trame sur notre réseau local ? C'est évident que si il y a rendez-vous, il y a forcément de la drague\index{drague} sur le LAN. Et la drague, le meilleur moyen c'est quand même du broadcast\index{broadcast} sur UDP\index{UDP}. Il y a même un logiciel spécialisé pour entendre ça : \begin{quote} mdns-scan is a tool for scanning for mDNS/DNS-SD published services on the local network. It issues a mDNS\index{mDNS} PTR query to the special RR \_services.\_dns-sd.\_udp.local for retrieving a list of all currently registered services on the local link. \end{quote} \begin{verbatim} tth@debian:~/Devel/TetaTricks$ mdns-scan + saned._sane-port._tcp.local + DELIRIUM._smb._tcp.local + DELIRIUM._device-info._tcp.local + Serviette._nut._tcp.local + Serviette._mumble._tcp.local + RENAN-PC._nvstream._tcp.local + Mac Pro de XANO._afpovertcp._tcp.local + Mac Pro de XANO._smb._tcp.local + MacBook Pro de Romain._smb._tcp.local + Mac Pro de XANO._companion-link._tcp.local + HP Photosmart C4400 series @ MacBook Pro de Sophie de Angelis (._ipp._tcp.local + TOSHIBA e-STUDIO2040C-07304719 @ MacBook Pro de Sophie de Angel._ipp._tcp.local + TOSHIBA e-STUDIO2010AC-13828385._http._tcp.local + MacBook Pro de Manon._companion-link._tcp.local + Mac Pro de XANO / Mac Pro de MacPro._c4ds._tcp.local + 0418C7E2-071B-4BC7-B210-20F4D6BED80A._netrender._tcp.local \end{verbatim} Que faire de toutes ces information, à part savoir que la machine \texttt{delirium} semble être un serveur Samba\index{Samba} ? % ----------------------------------------------------------- \section{Code} Je suppose qu'il faut commencer par découvrir Avahi et ses quelques fichiers de configuration\footnote{Chez Debian}. \begin{itemize} \item \texttt{/etc/avahi/hosts} \item \texttt{/etc/dbus-1/system.d/avahi-dbus.conf} \item \texttt{/etc/avahi/avahi-daemon.conf} \item \texttt{/etc/init.d/avahi-daemon} \end{itemize} Attention aux yeux, il y a parfois du XML\index{XML} dans ces choses là.. % -----------------------------------------------------------