\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à..

% -----------------------------------------------------------


