Connaitre la bande passante utilisée à un instant x

Connaitre la bande passante utilisée à un instant x - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 10-06-2003 à 13:37:36    

Bonjour,
je suis sous linux debian, et je voudrais connaitre la bande passante utilisée 'en tps réel', du moins pour un interval de tps court.
 
J'ai essayé de récupérer certaines infos de netstat avec php, en relevant les packets envoyés :
IP >> 768303683 requests sent out
Ce a deux instant différents, après, par calcul, je trouve une vitesse de moins de 500ko/s alors que MRTG m'indique 585ko/s en sortie.
 
En quel unité sont donc les infos renvoyées par netstat ?
 
Ou sinon, connaissez-vous un moyen de calculer la bande passante utilisée, avec un programme sous linux (trouvable sur le net), ou directement avec php.
 
Merci de votre précieuse aide.
Je continue de chercher de mon coté.
 
PS : le programme ne doit pas etre utulisable qu'avec le root comme iptraf par exemple.

Reply

Marsh Posté le 10-06-2003 à 13:37:36   

Reply

Marsh Posté le 10-06-2003 à 13:46:42    

connmon
marche en user, et affiche la bp par connexion et la bp upload/download totale
(il faut un patch sur le kernel).
Mais pas de fonction historique/sauvegarde dans un fichier log.

Reply

Marsh Posté le 10-06-2003 à 14:03:21    

Merci, j'ai téléchargé ce prog mais voici le prob à l'install :
 
Dépaquetage de la mise à jour de connmon ...
dpkg : des problèmes de dépendances empêchent la configuration de connmon :
 connmon dépend de libc6 (>= 2.2.5-13) ; cependant :
  La version de libc6 sur le système est 2.2.5-11.5.
 
Or, la dernière version de libc6 qui se trouve sur packages.debian.org est celle que j'ai, ils me demandent donc une version qué po encore sortie :??:
 
Merci de m'expliquer stu vois ske c ke ce ******

Reply

Marsh Posté le 10-06-2003 à 14:16:48    

avec ifconfig et un chti prog perl ou autre derriere ca doit pas etre trop complexe ....

Reply

Marsh Posté le 10-06-2003 à 14:18:43    

merci vé voir ske ce programme renvoie comme info.

Reply

Marsh Posté le 10-06-2003 à 14:20:12    

0 : eth0 Link encap:Ethernet HWaddr 00:20:ED:3F:74:DC  
1 : inet addr:217.174.203.96 Bcast:217.174.203.127 Mask:255.255.255.192  
2 : UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1  
3 : RX packets:518840093 errors:0 dropped:0 overruns:0 frame:0  
4 : TX packets:757824055 errors:0 dropped:0 overruns:62 carrier:0  
5 : collisions:0 txqueuelen:100  
6 : RX bytes:1941295298 (1.8 GiB) TX bytes:1322720531 (1.2 GiB)  
7 : Interrupt:18 Base address:0xd000  
 
 
(les num c les lignes)
Oui, alors je prends koi komme infos ? TX et RX ca veut dire koi ?

Reply

Marsh Posté le 10-06-2003 à 14:26:09    

TX pour transmis (envoyé) et RX pour reçu.

Reply

Marsh Posté le 10-06-2003 à 14:34:00    

ya un prob jpeux pas avoir recu plus que je n'ai envoyé, c un serveur web, ca ne fait qu'envoyer !!!

Reply

Marsh Posté le 10-06-2003 à 14:54:01    

Merci voila j'obtient qqchose de cohérant, c génial, pour ceux que ca interesse :
 

Code :
  1. <script language="php">
  2. if($retour == 1)
  3. {
  4. exec("ifconfig", $list);
  5. $rep = trim($list[6]);
  6. $time2 = microtime();
  7. eregi("TX bytes:([0-9]{1,}) ",$rep,$rep2);
  8. $val2 = $rep2[1];
  9. $t1 = explode(" ",$time1);
  10. $t2 = explode(" ",$time2);
  11. $tps = ($t2[1].substr($t2[0],1,9)) - ($t1[1].substr($t1[0],1,9));
  12. $x = round((($val2 - $val1)/1024),2);
  13. print "$x ko en $tps secondes";
  14. print "<br>";
  15. print $vitesse = round(($x / $tps),2);
  16. print "ko/s";
  17. print "<br><br>";
  18. print "<br><br> <a href='$PHP_SELF'>Re-test</a>";
  19. }
  20. else
  21. {
  22. exec("ifconfig", $list);
  23. $rep = trim($list[6]);
  24. $start = microtime();
  25. eregi("TX bytes:([0-9]{1,}) ",$rep,$rep2);
  26. $val1 = $rep2[1];
  27. $now = microtime();
  28. //Calcul du temps d'exécution
  29. $t1 = explode(" ",$start);
  30. $t2 = explode(" ",$now);
  31. $tps = ($t2[1].substr($t2[0],1,9)) - ($t1[1].substr($t1[0],1,9));
  32. while($tps < 5)
  33. {
  34.  $now = microtime();
  35.  //Calcul du temps d'exécution
  36.  $t1 = explode(" ",$start);
  37.  $t2 = explode(" ",$now);
  38.  $tps = ($t2[1].substr($t2[0],1,9)) - ($t1[1].substr($t1[0],1,9));
  39. }
  40. header("Location:$PHP_SELF?retour=1&val1=$val1&time1=$start" );
  41. }
  42. </script>

Reply

Marsh Posté le 10-06-2003 à 15:32:09    

Cherche ifstat sur freshmeat (ça fait exactement ça).
Sinon en perl je lisais /proc/net/dev
 

Code :
  1. sub readnet {
  2.     my $line = fgrep ("ppp0", "/proc/net/dev" );
  3.     $line =~ s/ppp0://;
  4.     split (" ", $line);
  5.     return (@_[0], @_[8]);
  6. }
  7.     return sprintf ("dl/ul: %i %i (KB/s)", ($dl2-$dl1)/1024, ($up2-$up1)/1024);


Reply

Marsh Posté le 10-06-2003 à 15:32:09   

Reply

Marsh Posté le 10-06-2003 à 15:38:48    

normalement il te faut 2 compteurs : le debit ascendant (TX) et descendant (RX).
Tu aurais pu aussi utiliser SNMP comme j'ai fait la :  
http://forum.hardware.fr/forum2.ph [...] =#t1131062
 
et sinon voir cette formule pour calculer le tx d'occupation de la bande passante : http://www.cisco.com/en/US/tech/tk [...] 496e.shtml

Reply

Marsh Posté le 10-06-2003 à 17:12:26    

Ryccou a écrit :

Dépaquetage de la mise à jour de connmon ...
dpkg : des problèmes de dépendances empêchent la configuration de connmon :
 connmon dépend de libc6 (>= 2.2.5-13) ; cependant :
  La version de libc6 sur le système est 2.2.5-11.5.
 
Or, la dernière version de libc6 qui se trouve sur packages.debian.org est celle que j'ai, ils me demandent donc une version qué po encore sortie :??:
 
Merci de m'expliquer stu vois ske c ke ce ******

T'aurais pas installé le paquet connmon d'une autre distribution par hasard ?


---------------
« No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book
Reply

Marsh Posté le 10-06-2003 à 20:07:22    

bha c'était bien un .deb, donc ya pas 36 debian, donc je sais pas.
Sinon merci pour ce qui a été dit apres, mais j'ai un code qui roule tout va bien, je peux faire part de l'état de la ligne à mes clients.
Enfin ca fait pas trop dla pub, la bande passante sature, mais a 210?/mbit/mois on fait pas skon veut... vive la france et ses tarifs exorbitants...
 
http://www.madcorp.firstream.net/Clip_8.jpg


Message édité par Ryccou le 10-06-2003 à 20:08:46
Reply

Marsh Posté le 10-06-2003 à 21:25:46    

je te conseille un tres bon programme de monitoring de bande passante, avec d'autres goodies, et qui tourne tres bien;
 
iptraf  :love:

Reply

Marsh Posté le 11-06-2003 à 11:47:59    

accessible uniquement en root, php ne peut donc pas récupérer les infos qu'il propose, deplus apparemment il donne l'activité totale de la carte réseau sans distinction de sens, paskils renvoie des débits supérieur a la capacité de la connexion...
 
Merci qd même, en tout cas, tout marche impec mnt

Reply

Marsh Posté le 11-06-2003 à 13:59:49    

Tiens, voici qq screenshots que j'avais fait, il y'a qq temps déjà, de ntop si tu veux avoir un petit exemple du genre de stats qu'il peut te remonter :
 
http://membres.lycos.fr/zzozo2/screens/ntop1.PNG
 
http://membres.lycos.fr/zzozo2/screens/ntop2.PNG
 
http://membres.lycos.fr/zzozo2/screens/ntop3.PNG
 
http://membres.lycos.fr/zzozo2/screens/ntop4.PNG

Reply

Marsh Posté le 11-06-2003 à 20:11:57    

Merci, mais je voulais juste la BP utilisé, et c'est bon mnt !
Je ne voulais pas de stats détaillés, pour ca le MRTG me suffit, je voulais juste pvoir donner en tps réels aux affiliés, l'utilisation de la bande passante !!

Reply

Marsh Posté le 11-06-2003 à 20:25:18    

Zzozo a écrit :

Tiens, voici qq screenshots que j'avais fait, il y'a qq temps déjà, de ntop si tu veux avoir un petit exemple du genre de stats qu'il peut te remonter :
 
http://membres.lycos.fr/zzozo2/screens/ntop1.PNG
 
http://membres.lycos.fr/zzozo2/screens/ntop2.PNG
 
http://membres.lycos.fr/zzozo2/screens/ntop3.PNG
 
http://membres.lycos.fr/zzozo2/screens/ntop4.PNG
 


maiskestcekecestkecewindowsalacon :whistle:


---------------
:: Light is Right ::
Reply

Marsh Posté le 11-06-2003 à 20:48:21    

tomate77 a écrit :


maiskestcekecestkecewindowsalacon :whistle:  


cé pour montrer qu'on peut l'interroger de partout ... :o ... qu'il est pas sectaire, lui ... :o ...  :whistle:

Reply

Marsh Posté le 11-06-2003 à 21:14:52    

Zzozo a écrit :


cé pour montrer qu'on peut l'interroger de partout ... :o ... qu'il est pas sectaire, lui ... :o ...  :whistle:  

:D


---------------
:: Light is Right ::
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed