Vous êtes sur la page 1sur 2

Surveillance du trafic Internet de votre ordinateur

Objectifs
Réaffirmer vos connaissances de ce que vous avez appris sur la programmation des scripts
Shell et l’utilisation du programme Gnuplot.

Description du mini-projet
Connaître l’utilisation de ressources des ordinateurs peut être essentiel dans certain cas. Par
exemple, dans le cas d’un fournisseur des services de cloud computing, un taux d’utilisation
des ressources CPU élevée, de façon fréquente et régulière, plaiderai pour une augmentation
de leur capacité de calcul (i.e. plus de serveurs).
Pour connaître le niveau d’utilisation des ressources de votre ordinateur, les systèmes
d’exploitation sont capables d’interroger les capteurs insérés dans les composantes
électroniques (e.g. température de la CPU), ainsi que de maintenir des statistiques sur les
évènements logiciel (e.g. état des processus, etc.).
Dans ce projet, vous allez créer un script shell très basique qui calculera le trafic réseau et
créera une figure (à l’aide du programme Gnuplot) montrant l’évolution de la quantité de
données reçues et envoyées par notre carte réseau. Cette figure sera montrée par le biais
d’une page HTML statique qui se mettra à jour régulier et automatiquement.

Mini-guide pour la réalisation du projet


Voici maintenant quelques informations qui vous aideront à mener à bon terme votre projet.
• Pour qu’une page HTML statique se mette à jour automatiquement, vous pouvez
utiliser la balise meta avec paramètre http-equiv="refresh" (voir page
https://www.hscripts.com/tutorials/html/autorefresh.php)
• Les statistiques liées à l’activité des interfaces réseau sont disponibles dans le système
/sys/class/net/netiface/statistics/ où netiface est le nom de l’interface
réseau (e.g. eth0). Les statistiques liées au trafic entrant se trouvent dans le fichier qui
commencent par « rx_ », et ceux du trafic sortant dans les fichiers commençant par
« tx_ ».

Services attendus de votre script


1. Au minimum, votre script devra prendre comme argument le nom de l’interface à
surveiller.
2. La page web HTML statique devra montrer le nom de l’interface qui a été donné
comme argument et d’autres informations qui seront nécessaire à la bonne lisibilité
des résultats.
3. La page HTML sera enregistrée par défaut dans le dossier /tmp/netiface, où
netiface correspond au nom de l’interface à surveiller.
4. L’image devra montrer le nombre d’octets reçus et envoyés par minute et couvrira
maximum 1h de surveillance.
5. Une fonctionnalité supplémentaire. Par exemple, prise en compte de multiples
arguments pour mieux s’adapter aux besoins de l’utilisateur (intervalle de
surveillance, modification de l’emplacement par défaut, prise en compte d’une ou
plusieurs interfaces réseaux, etc.), ou ajout d’une interface graphique avec zenity avec
formulaire d’authentification de l’utilisateteur, exportation des données vers un fichier
.csv et téléchargeable depuis la page web, etc.

Ce que vous devez rendre


Les fichiers de la solution seront chargés dans la plateforme compressé dans un seul
dossier format nom_prenom.rar.
• Votre script shell. Le code devra être commenté et modulaire ;
• Votre page HTML Template ;
• Un fichier README, qui décrira la façon dont votre programme doit être utilisé, ce
que votre script fait et ce qu’il ne fait pas.

Bonus à ajouter à la note de l'examen


La solution la plus correcte sera sanctionnée par +6points
La solution presque correcte sera sanctionnée par +4points
La solution incorrecte sera sanctionnée par +2points

Date limite le 26/01/2022 à 23h59

Vous aimerez peut-être aussi