Formation : IUP GMI 2ème année
Cours : Réseaux d'entreprise

Sujet de TP 1

Programmation d'un système de surveillance réseau sous Windows:
  1. Ecrire un 1er programme d'interception qui tournera sur une machine Windows dite d'interception et qui interceptera en copie tous les paquets recus par cette machine en utilisant la bibliothèque Winpcap. Ce programme devra repérer tous les paquets s'adressant à un numéro de protocole et de port particuliers. Les paquets repérés seront analysés et leurs adresses IP sources seront envoyées dans un message d'alerte à une machine Windows dite de surveillance située à distante. Les messages seront envoyés via une connection TCP écrite à l'aide des fonctions Winsock2 de l'API Win32.
  2. Ecrire un 2eme programme de surveillance qui tournera sur la machine de surveillance et qui récupèrera les messages d'alertes. Ce programme affichera un message d'alerte via une fenêtre Popup ou bien via la console et archivera les alertes dans l'Event Log.
  3. Adapter les deux programmes afin que le programme de surveillance puisse configurer à distance le numéro de protocole et de port surveillés sur la machine d'interception.
  4. Transformer le programme d'interception en un service Windows en utilisant les fonctions C de l'API Win32.
  5. Améliorer le programme d'interception en recueillant des statistiques réseau grâce à la bibliothèque IP Helper incluse dans l'API Win32. Utiliser la fonction GetIpStatistics en particulier. Envoyer ces statistiques à intervalles réguliers à la machine de surveillance qui les affichera et les archivera dans l'Event Log.
Premières étapes:
  1. Installer Dev C++ (devcpp4890.exe) et WinPcap (WinPcap_3_0.exe)
  2. Créer dans C:\ un répertoire portant votre nom et y dézipper la doc WinPcap (wpdpack_3_0.zip)
  3. Créer un projet en C de type Console Application
  4. Dans Options du projet -> Paramètres, cliquer sur ajouter fichiers et ajouter les fichiers ws2_32.lib, advapi32.lib et le fichier wpcap.lib qui se trouve dans C:\nom\wpdpack\lib\
  5. Dans Options du projet -> Répertoires, cliquer sur ... et ajouter les répertoires de bibliothèque C:\nom et C:\nom\wpdpack\lib\ et les répertoires d'include C:\nom et C:\nom\wpdpack\include\
  6. Les entêtes des protocoles IP, UDP et TCP (pour connaître l'emplacement de l'adresse IP source d'un paquet, son numéro de protocole et son numéro de port destination) sont définis dans les fichiers std5.txt, std6.txt et std7.txt

Logiciels et documents à utiliser pour le TP1 :
Logiciels et bibliotheques
Documentation

Informations complémentaires sur le Web :
Liste de compilateurs libres
Site de WinPcap
Site de MSDN pour les fonctions réseaux (IPHelper et Winsock2)
Site de MSDN (Microsoft Developer Network)