Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1317 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs

  Prog pour compter le trafic qui passe sur une interface reseau

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Prog pour compter le trafic qui passe sur une interface reseau

n°33093
cassidy
Black Rainbow
Posté le 04-10-2001 à 21:03:34  profilanswer
 

Voila j'aimerais trouver un compteur de transfert sur une interface donnée sous linux. Par ex voir cb de go sont transite (en up et donwn) sur le eth0 ou ppp0
 
merci

mood
Publicité
Posté le 04-10-2001 à 21:03:34  profilanswer
 

n°33099
PinG
Rooteur
Posté le 04-10-2001 à 21:16:57  profilanswer
 

tu peux le voir avec ifconfig :  
 

Code :
  1. eth0      Link encap:Ethernet  HWaddr 00:50:FC:25:0B:6C 
  2.           inet addr:192.168.13.20  Bcast:192.168.13.255  Mask:255.255.255.0
  3.           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
  4.           RX packets:431377 errors:5 dropped:1 overruns:1 frame:0
  5.           TX packets:255408 errors:0 dropped:0 overruns:0 carrier:0
  6.           collisions:1021 txqueuelen:100
  7.           RX bytes:293473641 (279.8 Mb)  TX bytes:31750115 (30.2 Mb)
  8.           Interrupt:10 Base address:0xd000


---------------
-- NO SLACKERS - violators will be fsck'd & tar'd
n°33106
cassidy
Black Rainbow
Posté le 04-10-2001 à 22:42:24  profilanswer
 

ouais mais j'aimerais qu'il l'enregistre qqpart
 
Enfait en gros c pour voir le debit que je fais sur mon adsl sur un mois

n°33108
Boris l'in​vincible
Life is random
Posté le 04-10-2001 à 22:56:04  profilanswer
 

en php tu sais recup ca sans pb :)
en d'autre languiage aussi surement mais bon :)

n°33119
PinG
Rooteur
Posté le 04-10-2001 à 23:39:08  profilanswer
 

Code :
  1. #! /usr/bin/perl
  2. # rxtx.pl made on 2001/10/04 by _PinG_ ping@root42.net
  3. $bla = <STDIN>;
  4. $mis :\t$2\n" if ($bla =~ /\(([a-zA-Z0-9. ]+)\).*\(([a-zA-Z0-9. ]+)\)/);


 
;)
Je fout les valeurs dans $1 (recus) et $2 (émis)...
 
ifconfig eth0 | grep "RX bytes" | rxtx.pl
Si tu aimes le perl tu peux jouer avec après...
PS1 : C'est du vite fait, c pour ca que j'utilise grep ;)
J'aurais pu le faire avec sed et gawk (voire même gawk tout seul, mais perl roulaize :p, et puis y'a pas mieux que le perl pour coder rapide)
PS2 : la regexp est pas belle, mais comme ca, ca devrais marches même avec une Mandrake ;)


---------------
-- NO SLACKERS - violators will be fsck'd & tar'd
n°33124
PinG
Rooteur
Posté le 04-10-2001 à 23:46:45  profilanswer
 

y'a aussi la version super porc (ma préférée) :

Code :
  1. print "Recus :\t$1\nEmis :\t$2\n" if (<STDIN> =~ /\((.+)\).*\((.| +)\)/);


... ca tiens sur une ligne, on peut le foutre dans un 'perl -e' pour être évalué sur la ligne de cmd sans créer le programme.... Mais créé quand même le fichier, sinon tu pourras pas traiter $1 et $2 à ta convenance après ;)


---------------
-- NO SLACKERS - violators will be fsck'd & tar'd
n°33145
Dark_Schne​ider
Close the World, Open the Net
Posté le 05-10-2001 à 02:18:53  profilanswer
 

k,etload, mais je ne suis pas sûr


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
n°33152
nicotine
Posté le 05-10-2001 à 05:28:40  profilanswer
 

si t'as mrtg installé , avec snmp , ya un pti script php  MRTG Total Traffic Generator . il va lire les logs de mrtg....en plus d'un joli graphe .
 
sinon tu peux tjs lire /proc/net/dev  ;)


---------------
Do androïds dream of electric sheep ?
n°33153
nicotine
Posté le 05-10-2001 à 05:47:36  profilanswer
 

qq lignes de php pour lire /proc/net/dev
 
 // ---------------------------------
 function stat_reseau()
   {
    $results = array();
 
    if ( $fd = fopen("/proc/net/dev", "r" ) ) {
        while ( $buf = fgets($fd, 4096)) {
 
            if ( preg_match( "/:/", $buf ) ) {
                list( $dev_nom, $stats_list ) = preg_split( "/:/", $buf, 2 );
 
                $stats = preg_split( "/\s+/", trim($stats_list) );
                $results[$dev_nom] = array();
 
                $results[$dev_nom]['recu_bytes'] = $stats[0];
                $results[$dev_nom]['recu_packets'] = $stats[1];
                $results[$dev_nom]['recu_errs'] = $stats[2];
                $results[$dev_nom]['recu_drop'] = $stats[3];
 
                $results[$dev_nom]['envoye_bytes'] = $stats[8];
                $results[$dev_nom]['envoye_packets'] = $stats[9];
                $results[$dev_nom]['envoye_errs'] = $stats[10];
                $results[$dev_nom]['envoye_drop'] = $stats[11];
 
                $results[$dev_nom]['errs'] = $stats[2] + $stats[10];
                $results[$dev_nom]['drop'] = $stats[3] + $stats[11];
            }
        }
    }
 
    return $results;
  }
 
 
 // recup du tableau
 $net = stat_reseau();
   
 // decomposition et tout ce qu'on veut ...  
 while ( list($dev,$stat) = each($net) ) {
 
        $dev = trim($dev);
        if ($dev == "lo" ) continue;
 
        if ($dev == "ppp0" )  {
            get_bytes += $stat['recu_bytes'];
            send_bytes += $stat['envoye_bytes'];
          }
  .........
  ..........
  etc ...


---------------
Do androïds dream of electric sheep ?
n°33155
splurf
Rm -Rf / && oops :o
Posté le 05-10-2001 à 06:52:21  profilanswer
 

Un truc sympa est SNMP et MRTG => génération de grphiques, un coup de crontab et c'est actualisé en temps voulu et zou ça te sort la page web ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs

  Prog pour compter le trafic qui passe sur une interface reseau

 

Sujets relatifs
Mot de passe NT administrateur perducomment installer une carte reseau sous solaris?
reseau par modemproblème de carte réseau
réseau par le port série[Misc] Pourquoi M. de Icaza supporte-t-il .NET ? passé côté obscur ?
pb réseau linux/windows et partage d'imprimanteInstallation du reseau sous linux
Comment créer un réseau entre Linux / Win / InternetCherche prog
Plus de sujets relatifs à : Prog pour compter le trafic qui passe sur une interface reseau


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR