Espionnage de protocol

Gardez bien le source du TP précédent et repartez du "serveur.c" l'orignal.

On veut réaliser un espion qui affichera sur votre écran tous les messages qui passent entre un client (la commande ftp) et un serveur (le serveur ftpd de la machine bat710).

A partir du source programme serveur original (serveur.c), ajouté lui les fonctionnalités suivantes afin de le transformer en espion :

Pour la programmation, il vous suffit d'ajouter un tableau indicé par le numéro du socket serveur ou client et qui contient le numéro du socket client ou serveur. Ce tableau indique simplement que lorsque l'on reçoit un message du socket A, on fait suivre le message sur le socket CS[A].

Par exemple après avec deux connexions à votre espion le tableau contient (le -1 indique qu'il n'y a pas de connexions) :

CS[0] = -1
CS[1] = -1
CS[2] = -1
CS[3] = 9
CS[4] = -1
CS[5] = 8
CS[6] = -1
CS[7] = -1
CS[8] = 5
CS[9] = 3

Le protocole que nous avons choisi d'espionner est FTP. Pour le voir, lancer votre espion sur la machine A sur le port 6001 par exemple puis faite ftp A 6001

Connectez-vous en "anonymous" comme cela personne ne verra votre mot de passe. Ensuite tapez quelques commandes FTP : ls, cd, get


Last modified: Mon Jan 29 11:52:24 CET 2001