Mesure de la bande passante utilisée

Attention, ce programme est loin d'être fini, et les procédures d'installation n'ont pas pu être testées sur tous les systèmes.

Pourquoi ?
Principe
Installation
Guide
Download : WinFM.zip
Extensions
ToDo

Pouquoi ?

Il est souvent utile de connaître la quantité de données qui a transité par le réseau. Divers outils existent déjà, mais ne sont pas pratique lorsqu'on est sur un réseau local, et qu'on ne désire pas comptabiliser les échanges effectués sur le réseau local.

Des solutions existent sous linux, (voir IPFM), mais peu sous Windows. Un projet, ethereal a rendu ça possible aussi sans douleurs sous Windows.

Mais je n'ai pas trouvé que l'utilisation était pratique. Je voulais quelque chose qui puisse simplement afficher la quantité téléchargée depuis l'extérieur.J'ai donc écrit une petite application pour faciliter tout cela.

Principe

Le principe est très simple, et tiré du monde Unix : il s'agit d'utiliser :

Pour trier les paquets, ce qui m'intéresse essentiellement est la taille des paquets arrivant sur mon ordinateur (dst host xxx.xxx.xxx.xxx) depuis des ordinateurs non situés sur le réseau local (and not src host xxx.xxx, pour le cas d'une classe B). J'utilise ensuite l'option -V pour que tethereal décode les paquets pour moi et me donne la taille, qui est récupérée ensuite avec un grep. Le awk ser a sommer tous les paquets.
Les outils sed et awk sont ceux de l'excellent port pour windows de l'environnemen unix : cygwin.

Installation

L'installation n'est pour l'instant pas des plus simples :

  1. Décompactez l'archive
  2. Installez le driver NDIS
  3. Installez le Packet.dll correspondant à votre système d'exploitation
  4. Copiez le répertoire contenant les programmes la ou vous voulez
Pour les trois premiers points, vous pouvez vous réferez à la documentation d'ethereal. Si vous arrivez à faire fonctionner ethereal, vous n'aurez aucune difficulté à faire fonctionner le programme.

Il reste maintenant une petite étape de configuration : vous devez mettre votre adresse IP (winipcfg ou ipconfig pour le connaître) dans le fichier script.bat à la place de src host xxx.xxx.xxx.xxx. N'oubliez pas non plus d'adapter le réseau que vous voulez surveiller (not dst host xxx.xxx).

Guide

Lancez le fichier WinFM.exe. Vous devriez voir apparaître dans la TrayBar (à gauche de l'heure) une petite icône qui vous était jusque là inconnue.

Fonctionnement global

Download

Binaires : distribution complète WinFM.zip
Les sources ne sont pas encore disponible, car le code n'est vraiment pas présentable pour l'instant.

Extensions

Si vous avez bien suivi, en fait l'application n'est en rien spécifique à tethereal. Elle appelle uniquement le script.bat qui peut contenir tout à fait autre chose, pourvu que le script ait comme sortie une suite de nombres à afficher dans la TrayBar.

L'utilisation des tubes nommés (named pipes) est sans doute la façon la plus facile de récuperer le résultat d'une commande DOS dans un programme Windows.
Pour ce qui est de l'écriture : monprgmdos > \\.\pipe\nameofthepipe.
Pour ce qui est de la lecture, l'adaptation du programme d'exemple de MSDN se fait sans douleurs.

To Do List

Mais cela risque d'attendre un peu, sinon un certain chef de projet d'un certain projet C'Nedra va pas être content :)