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:
-
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.
-
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.
-
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.
-
Transformer le programme d'interception en un service Windows en utilisant
les fonctions C de l'API Win32.
-
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:
-
Installer Dev C++ (devcpp4890.exe) et WinPcap (WinPcap_3_0.exe)
-
Créer dans
C:\
un répertoire portant votre nom et y dézipper la doc WinPcap (wpdpack_3_0.zip)
-
Créer un projet en C de type Console Application
-
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\
-
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\
-
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)