IP Flow Meter
Vous trouverez sur cette page les instructions pour utiliser IPFM pour surveiller votre consommation sur un réseau global.
Voir aussi :
La page principale de IPFM est http://www.via.ecp.fr/~tibob/ipfm/
Licence : GPL
Auteurs : Robert CHERAMY <[email protected]>, Andres KRAPF <[email protected]>
Home Page : http://www.via.ecp.fr/~tibob/ipfm/
J’utilise IPFM pour connaître exactement la quantité de données échangées avec un réseau extérieur.
Installation
Pour installer IPFM, vous devez avoir :
- libpcap, libpcap-dev
- les sources d’IPFM
Il vous suffit ensuite de
- Compiler : make
- Installer : make install
- Lancer IPFM : ipfm
Version patchée
J’ai patché légèrement le code pour adapter IPFM à ce que je voulais faire.
Voici les modifications apportées :
- la signification de la commande NOT WITH du fichier de configuration est modifiée : cela ne signifie plus A du réseau MaskA est en relation avec B du réseau MaskB, mais A appartient au réseau MaskA, mais non au résau MaskB.
L’utilité est simple : définir un MaskA comme étant un réseau global, et MaskB comme le réseau local. Ainsi, ne seront logguées que les échanges avec le réseau global. - possibilité de générer le fichier plusieurs fois pour une même période de log.
Cela est utile lorsque l’on veut surveiller sa consommation au fur et à mesure, et non uniquement en fin de journée.
ATTENTION : les fichiers d’aide n’ont pas été modifiés en conséquence. Vous verrer apparaitre les modification clairement dans le code source, dans le fichier data.c et filter.c essentiellement.
Le code source est disponible ici.
Script de visualisation
Ceci est un petit script pour avoir rapidement la quantité d’informations reçues et envoyées. Pour l’utiliser, le rendre exéctuable et simplement taper ./ipfm-status
. Pour ceci, ipfm doit être lancé et avoir fait au moins une écriture sur le disque. Vous serez peut être amenés à modifier le nom du fichier source.
Configuration
Voici mon fichier de configuration. Pour plus d’information, consulter la page de manuel.
Correctif
Comme on me l’a judicieusement fait remarquer, vous pouvez réaliser ces deux taches en utilisant normalement IPFM :
- Uniquement le réseau global : LOG BOTH 138.195.128.0/255.255.240.0 NOT WITH 138.195.0.0/255.255.0.0 Il faut mettre en relation votre machine (ici en 138.195.xxx.yyy) avec tous, sauf (NOT WITH) avec le reseau 138.195, et ceci dans les deux sens (BOTH, emettre ou recevoir)
- Pour l’écriture, il suffit d’écrire dans des fichiers différents et traiter ca avec un autre script. Mais vous perdez la facilité du tri… Après c’est une affaire de goût 🙂
Comme quoi, de temps en temps, le code C est plus compréhensible que la man page :-).