Netwerktraffiek van bepaalde netwerkkaart uitlezen

Pagina: 1
Acties:
  • 61 views sinds 30-01-2008

  • subsonik
  • Registratie: Augustus 2001
  • Laatst online: 16:55
Ik zou graag een PHP script maken dat mijn internettraffiek bijhoudt. Dit script zou bv om het uur runnen, en dan de traffiek tot dan toe in de database steken.

Hiervoor moet ik uiteraard de traffiek op m'n netwerkkaart kunnen inlezen in PHP... Met 'netstat -e' gaat dat, probleem is dat het script op m'n server zou runnen, waar 2 netwerkkaarten inzitten. Je krijgt dus totale traffiek van beide kaarten te zien, terwijl ik de interne traffiek niet wil meetellen...

Bestaat er een of ander programmaatje waarmee ik dit zou kunnen uitlezen? Liefst een simpel dos progje zoals netstat... desnoods windows progje, ik heb al de logs van DU meter geprobeerd, maar die zijn per dag, en dus niet bruikbaar.

Eventueel met een dll (zoals moo.dll voor mirc)? Ik heb echter geen idee hoe ik die moet aanspreken in PHP...

Ik hoop dat iemand mij kan helpen...

  • T-h-i-j-s
  • Registratie: April 2000
  • Laatst online: 27-08 10:53

T-h-i-j-s

koffie? ja lekker :)

offtopic:
blijft leuk die belgen :)


de file
/proc/net/dev inlezen
en dan wat sed/awk of php voodoo erop loslaten om de RX/TX bytes te pakken te krijgen. Dat moet wel lukken lijkt me. :)

Of je kunt natuurlijk zoiets als MRTG gebruiken, maar de echte doe-het-zelfert.... 8-)

  • glashio
  • Registratie: Oktober 2001
  • Laatst online: 17:04

glashio

C64 > AMIGA > PC

Ik heb hier een (wel in Visual Basic 6) 'NetStats' voor je. Misschien heb je er wat aan.
simpel dos progje zoals netstat... desnoods windows progje

> Google Certified Searcher
> Make users so committed to Google that it would be painful to leave
> C64 Gospel
> [SjoQ] = SjoQing


Verwijderd

eigelijk doe ik dit nooit maar ik kwam het toevallig tegen in phpsysinfo:
PHP:
1
<?  function network () {        $results = array();        if ($fd = fopen('/proc/net/dev', 'r')) {            while ($buf = fgets($fd, 4096)) {                if (preg_match('/:/', $buf)) {                    list($dev_name, $stats_list) = preg_split('/:/', $buf, 2);                    $stats = preg_split('/\s+/', trim($stats_list));                    $results[$dev_name] = array();                    $results[$dev_name]['rx_bytes']   = $stats[0];                    $results[$dev_name]['rx_packets'] = $stats[1];                    $results[$dev_name]['rx_errs']    = $stats[2];                    $results[$dev_name]['rx_drop']    = $stats[3];                    $results[$dev_name]['tx_bytes']   = $stats[8];                    $results[$dev_name]['tx_packets'] = $stats[9];                    $results[$dev_name]['tx_errs']    = $stats[10];                    $results[$dev_name]['tx_drop']    = $stats[11];                    $results[$dev_name]['errs']       = $stats[2] + $stats[10];                    $results[$dev_name]['drop']       = $stats[3] + $stats[11];                }            }        }        return $results;    }?>

  • Jelmer
  • Registratie: Maart 2000
  • Laatst online: 20:57
Iets zegt mij dat hij windows gebruikt op zn server....

Je zou eens kunnen kijken naar MRTG en nog een extra los pakketje wat dan alles totaliseerd (ben de naam er alleen van kwijt, maar met een beetje zoeken op freshmeat.net moet het wel te vinden zijn).

  • Icheb
  • Registratie: Augustus 2001
  • Laatst online: 01-09 15:08
Op zondag 09 juni 2002 10:08 schreef Jelmer Barhorst het volgende:
Iets zegt mij dat hij windows gebruikt op zn server....
Zou dit komen door de 'netstat -e' ?

Maar ik blijf deze ook nog ff volgen want ik zoek ook een soort systeem info programma via PHP wat werkt onder Windows...

sebsoft.nl


  • whoami
  • Registratie: December 2000
  • Laatst online: 21:11
Dit valt toch een beetje onder een 'scriptrequest' en die zijn niet toegestaan op Got.

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.