Previous Contents Next

7   Manipulation de protocoles de services Internet

Nous allons maintenant voir les grands protocoles Internet bien plus en détail.

7.1   Création d'un service Internet trivial

Ecrivez un petit script shell (pas plus de trois lignes en dehors des commentaires) implantant un service Internet très simple donnant la date et l'heure de la machine sur laquelle il tourne (commande date). Ce service doit écouter sur le port 4000. Pour réaliser le service utilisez la commande nc du paquetage netcat (utilisez la page de manuel pour étudier en particulier l'option -l).

7.2   Manipulation des protocoles simples

En utilisant une connexion par telnet ou nc, trouvez quel type de serveur web utilisent les sites www.polytech-lille.fr, www.univ-lille1.fr, www.microsoft.com et www.wanadoo.fr.

Envoyez un message sur la boite aux lettres de votre binôme sans utiliser de client de messagerie autre que nc. Récupérez ce message via les protocoles pop puis imap en utilisant le même nc.

Récupérez le dernier article du groupe fr.petites-annonces.informatique à partir du serveur news.univ-lille1.fr en utilisant telnet ou nc.

7.3   Exercices sur le protocole FTP

Commencez par étudier le protocole FTP en lançant, sur votre machine virtuelle, un renifleur réseau et en vous connectant sur le serveur de votre machine virtuelle (installez un serveur FTP au besoin) à partir de la machine réelle. Regardez comment FTP implante le listage de répertoires et la récupération des fichiers.

Récupérez la liste des fichiers du répertoire /pub/linux/kernel/v2.4 sur le serveur FTP ftp.polytech-lille.fr sans utiliser de client FTP. Vous aurez besoin de deux instances de l'utilitaire nc pour réaliser cet exploit. Utilisez la même méthode pour déposer un fichier dans votre répertoire racine par FTP.

Utilisez uniquement deux connexions avec nc pour transférer un fichier du serveur FTP ftp.polytech-lille.fr vers votre répertoire racine en utilisant le serveur FTP de votre machine.

7.4   Exercices sur le protocole DNS

Commencez par écrire un programme C lisant des tableaux d'octets en hexadécimal (16 octets par ligne) et produisant sur la sortie standard le fichier binaire correspondant à ces tableaux.

Composez une requête DNS pour connaître les RR liés à l'adresse www.polytech-lille.fr sous la forme d'un tableau d'octets (consultez la RFC pour connaître le format d'un paquet DNS). En utilisant votre programme et l'utilitaire nc envoyez la requête au serveur DNS de l'école. Décryptez la réponse avec l'utilitaire od et analysez cette réponse.

Ecrivez un programme C permettant d'effectuer la résolution inverse en partant d'une adresse IPv6 passée en unique argument. Ce programme analyse l'adresse IPv6 et génère le paquet question DNS, il suffit alors de passer ce paquet en entrée standard d'une commande nc pour obtenir le paquet DNS réponse. Ecrivez un second programme C capable d'afficher l'éventuel nom associé à l'adresse IPv6. Vous obtenez ainsi l'équivalent IPv6 de la commande host pour la résolution IPv4 inverse en composant trois commandes avec deux pipes shell.


Previous Contents Next