Traffik!
Traffik!
Hallo alle zusammen,
ich möchte gerne wissen wieviel ich im monat an Traffik über meine Internet verbindung verursache! - Sicherlich gibt es unter Linux eine Möglichkeit?
(Ich benutze SuSe 7.0, DSL pppoed, Linux Rechner fungiert als Gateway)
ich möchte gerne wissen wieviel ich im monat an Traffik über meine Internet verbindung verursache! - Sicherlich gibt es unter Linux eine Möglichkeit?
(Ich benutze SuSe 7.0, DSL pppoed, Linux Rechner fungiert als Gateway)
- Stormbringer
- Posts: 1570
- Joined: 11. Jan 2001 11:01
- Location: Ruhrgebiet
Re: Traffik!
Addiere Dir doch die im HANGUP Bereich stehenden Werte (var/log/messages).
Per <b>grep HANGUP /var/log/messages >> /tmp/traffic</b> werden diese Sachen in die Datei /tmp/traffic geschrieben.
Laß das Skript "nächtlichst" gegen 23 Uhr laufen, und Du hast immer die Werte.
Oder, falls dies Skript angepaßt wird:
#!/usr/bin/perl
# ermittelt die ppp-Verbindungszeiten
# analog isdnrep
# geschrieben von Uwe Debacher am 1.12.98
# letzte Aenderung am 3.1.2000
# dabei Anpassung an mehrzeiliges Logfileformat
@monate=(Null,Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec);
@monatd=(Null,Januar,Februar,Maerz,April,Mai,Juni,Juli,August,September,Oktober,November,Dezember);
# Monat falls als Parameter angegeben, sonst aktuller Monat
$monat = shift;
if (!$monat) { # kein Monat angegeben
$monat=(localtime)<font size="4">+1;
}
# aktuelles Jahr ermitteln
$jahr=(localtime)[5];
if ($jahr>99) { $jahr=$jahr+1900; }
print "PPP-Verbindungszeiten fuer den Monat $monatd[$monat] $jahr
";
print "----------------------------------------------------------
";
# Datei einlesen
open (Datei, "/var/log/messages");
@zeilen = <Datei>;
close (Datei);
# PPP-Zeilen isolieren
@pppzeilen = grep /pppd[<!--no-->/, @zeilen;
@zeilen=();
# Zeilen aus aktuellem Monat isolieren
@monzeilen = grep /^@monate[$monat]/, @pppzeilen;
@pppzeilen=();
# Zaheler initialisieren
$verb=0;
$zeit=0;
$empf=0;
$send=0;
$tverb=0;
$tzeit=0;
$tempf=0;
$tsend=0;
$ttag=0;
foreach $zeile (@monzeilen) {
@felder = ();
@felder=split(/\s+/, $zeile);
if ($felder<font size="1"> > $ttag) {
if ($tverb > 0) {
printf " %2d.: %3d Verbindungen, Gesamtzeit %4d Minuten %8d %8d
", $ttag, $tverb, $tzeit, $tsend, $tempf;
$tverb=0;
$tzeit=0;
$tempf=0;
$tsend=0;
$ttag=$felder<font size="1">;
}
}
if (($felder[5] eq "Connect") and ($felder[6] eq "time")) {
$zeit=$zeit+$felder[7];
$tzeit=$tzeit+$felder[7];
$verb++;
$tverb++;
}
if ($felder[5] eq "Sent") {
$send=$send+$felder[6];
$empf=$empf+$felder[9];
$tsend=$tsend+$felder[6];
$tempf=$tempf+$felder[9];
}
}
$minuten = $zeit%60;
$stunden = int $zeit / 60;
if ($send>1024*1024) {
$gesendet = int($send/(1024*1024));
$gesendet = $gesendet . " MBytes";
}
elsif ($send>1024) {
$gesendet = int($send/1024);
$gesendet = $gesendet . " kBytes";
}
else {
$gesendet = $send . " Bytes";
}
if ($empf>1024*1024) {
$empfangen = int($empf/(1024*1024));
$empfangen = $empfangen . " MBytes";
}
elsif ($empf>1024) {
$empfangen = int($empf/1024);
$empfangen = $empfangen . " kBytes";
}
else {
$empfangen = $empf . " Bytes";
}
printf " %2d.: %3d Verbindungen, Gesamtzeit %4d Minuten %8d %8d
", $ttag, $tverb, $tzeit, $tsend, $tempf;
print "----------------------------------------------------------------
";
#print "$verb Verbindungen, Gesamtzeit: $stunden Stunden $minuten Minuten
";
printf "Summe: %3d Verbindungen, Gesamtzeit: %d Stunden %d Minuten
", $verb, $stunden, $minuten;
print "Gesendet $gesendet, empfangen $empfangen
";
Gruß
PS: da ich (noch) kein DSL nutze, hoffe ich einfach 'mal, daß die Daten trotzdem in /var/log/messages wie gehabt erfasst werden ... <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">
Per <b>grep HANGUP /var/log/messages >> /tmp/traffic</b> werden diese Sachen in die Datei /tmp/traffic geschrieben.
Laß das Skript "nächtlichst" gegen 23 Uhr laufen, und Du hast immer die Werte.
Oder, falls dies Skript angepaßt wird:
#!/usr/bin/perl
# ermittelt die ppp-Verbindungszeiten
# analog isdnrep
# geschrieben von Uwe Debacher am 1.12.98
# letzte Aenderung am 3.1.2000
# dabei Anpassung an mehrzeiliges Logfileformat
@monate=(Null,Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec);
@monatd=(Null,Januar,Februar,Maerz,April,Mai,Juni,Juli,August,September,Oktober,November,Dezember);
# Monat falls als Parameter angegeben, sonst aktuller Monat
$monat = shift;
if (!$monat) { # kein Monat angegeben
$monat=(localtime)<font size="4">+1;
}
# aktuelles Jahr ermitteln
$jahr=(localtime)[5];
if ($jahr>99) { $jahr=$jahr+1900; }
print "PPP-Verbindungszeiten fuer den Monat $monatd[$monat] $jahr
";
print "----------------------------------------------------------
";
# Datei einlesen
open (Datei, "/var/log/messages");
@zeilen = <Datei>;
close (Datei);
# PPP-Zeilen isolieren
@pppzeilen = grep /pppd[<!--no-->/, @zeilen;
@zeilen=();
# Zeilen aus aktuellem Monat isolieren
@monzeilen = grep /^@monate[$monat]/, @pppzeilen;
@pppzeilen=();
# Zaheler initialisieren
$verb=0;
$zeit=0;
$empf=0;
$send=0;
$tverb=0;
$tzeit=0;
$tempf=0;
$tsend=0;
$ttag=0;
foreach $zeile (@monzeilen) {
@felder = ();
@felder=split(/\s+/, $zeile);
if ($felder<font size="1"> > $ttag) {
if ($tverb > 0) {
printf " %2d.: %3d Verbindungen, Gesamtzeit %4d Minuten %8d %8d
", $ttag, $tverb, $tzeit, $tsend, $tempf;
$tverb=0;
$tzeit=0;
$tempf=0;
$tsend=0;
$ttag=$felder<font size="1">;
}
}
if (($felder[5] eq "Connect") and ($felder[6] eq "time")) {
$zeit=$zeit+$felder[7];
$tzeit=$tzeit+$felder[7];
$verb++;
$tverb++;
}
if ($felder[5] eq "Sent") {
$send=$send+$felder[6];
$empf=$empf+$felder[9];
$tsend=$tsend+$felder[6];
$tempf=$tempf+$felder[9];
}
}
$minuten = $zeit%60;
$stunden = int $zeit / 60;
if ($send>1024*1024) {
$gesendet = int($send/(1024*1024));
$gesendet = $gesendet . " MBytes";
}
elsif ($send>1024) {
$gesendet = int($send/1024);
$gesendet = $gesendet . " kBytes";
}
else {
$gesendet = $send . " Bytes";
}
if ($empf>1024*1024) {
$empfangen = int($empf/(1024*1024));
$empfangen = $empfangen . " MBytes";
}
elsif ($empf>1024) {
$empfangen = int($empf/1024);
$empfangen = $empfangen . " kBytes";
}
else {
$empfangen = $empf . " Bytes";
}
printf " %2d.: %3d Verbindungen, Gesamtzeit %4d Minuten %8d %8d
", $ttag, $tverb, $tzeit, $tsend, $tempf;
print "----------------------------------------------------------------
";
#print "$verb Verbindungen, Gesamtzeit: $stunden Stunden $minuten Minuten
";
printf "Summe: %3d Verbindungen, Gesamtzeit: %d Stunden %d Minuten
", $verb, $stunden, $minuten;
print "Gesendet $gesendet, empfangen $empfangen
";
Gruß
PS: da ich (noch) kein DSL nutze, hoffe ich einfach 'mal, daß die Daten trotzdem in /var/log/messages wie gehabt erfasst werden ... <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">
Last edited by Stormbringer on 18. Jul 2001 20:09, edited 1 time in total.
Continuum Hierarchy Supervisor:
You have already been assimilated.
(Rechtschreibungsreformverweigerer!)
You have already been assimilated.
(Rechtschreibungsreformverweigerer!)
Re: Traffik!
Hi,
wie wärs mit dem Tool iptraf?
Gruß,
hjb
wie wärs mit dem Tool iptraf?
Gruß,
hjb
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?
Re: Traffik!
Ich weiss ein beseres Tool,
da kannst du sogar über das Web dein Net Traffic anzeigen lassen.
http://www.ntop.org
da kannst du sogar über das Web dein Net Traffic anzeigen lassen.
http://www.ntop.org
Re: Traffik!
Danke erstmal für die Antworten. Also das ntop ist sicherlich gut, nur möchte ich ein einfaches ASCII (habe ich nicht erwähnt, sorry) und ich miene ntop ist fürs X-System (ich hoffe es heißt so, ich habe damit noch nie gearbeitet, sondern nur in der Textbasierenden ebene).
Zu dem Script:
HANGUP kommt in meine log Datei leider nciht vor. ich sehe zwar dennoch eine interessante zeile:
Jul 18 ....... pppd[155]: SENT 5170324 bytes, received 22677113 bytes.
Damit lässt sich sicherlich auch was anfanbgen.
Ich versuche ein entsprechendes Screipt zu programmieren.
@hjb:
Wo finde ich das tool iptraf ?
Zu dem Script:
HANGUP kommt in meine log Datei leider nciht vor. ich sehe zwar dennoch eine interessante zeile:
Jul 18 ....... pppd[155]: SENT 5170324 bytes, received 22677113 bytes.
Damit lässt sich sicherlich auch was anfanbgen.
Ich versuche ein entsprechendes Screipt zu programmieren.
@hjb:
Wo finde ich das tool iptraf ?
Re: Traffik!
Hy,
ntop ist kein X-Tool du kanst es im ASCII modus starten.
Die Ausgabe ist etwa gleich wie bei dem bekannten top,
du kannst es aber auch so starten das du über ein Webbrauser localhost:888 ein Frame hast mit allen Informationen.
ntop ist kein X-Tool du kanst es im ASCII modus starten.
Die Ausgabe ist etwa gleich wie bei dem bekannten top,
du kannst es aber auch so starten das du über ein Webbrauser localhost:888 ein Frame hast mit allen Informationen.
Re: Traffik!
Hi,
da habe ich wohl nicht richtig hingeguckt <img src="http://www.pl-forum.de/UltraBoard/Images/Sad.gif" border="0" align="middle">
Werde es gleich mal ausprobieren. Alternativ habe ich auch ein PHP Script programmiert, das eine Monatszusammenfassung darstellt. Bei Interesse psote ich die Links spätr hierrein...
da habe ich wohl nicht richtig hingeguckt <img src="http://www.pl-forum.de/UltraBoard/Images/Sad.gif" border="0" align="middle">
Werde es gleich mal ausprobieren. Alternativ habe ich auch ein PHP Script programmiert, das eine Monatszusammenfassung darstellt. Bei Interesse psote ich die Links spätr hierrein...
- Stormbringer
- Posts: 1570
- Joined: 11. Jan 2001 11:01
- Location: Ruhrgebiet
Re: Traffik!
Gerne!
Lieber etwas zu viel Infos/Tools/etc. als zu wenig ... <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">
Gruß
Lieber etwas zu viel Infos/Tools/etc. als zu wenig ... <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">
Gruß
Continuum Hierarchy Supervisor:
You have already been assimilated.
(Rechtschreibungsreformverweigerer!)
You have already been assimilated.
(Rechtschreibungsreformverweigerer!)
Re: Traffik!
Ok, ich mache es eben noch fertig... bis heute Abend ist der Link da.
Angemerkt:
Das Programm eignet sich nur für DSL über pppoed.
Angemerkt:
Das Programm eignet sich nur für DSL über pppoed.
Re: Traffik!
So ich habe mal ein Script programmier was bei mir 100%ig hinhaut.
Gemessen wird das gesendete und empfangene.
http://www.midsoft.de/linux/traffic_m.tgz
Gemessen wird das gesendete und empfangene.
http://www.midsoft.de/linux/traffic_m.tgz
Re: Traffik!
es gibt auch das Tool knetload