darkstat static binary (IP Traffic Bandwidth Monitor) by djtm

@Novgorod:
Du könntest übrigens auch mal mit --pppoe auf dem dsl interface experimentieren... dann dekodiert darkstat die dsl pakete, da müsste ja dann alles dabei sein. mit den hübschen statistiken wird's dann aber nichts, darkstat weiß dann nämlich leider nicht, welche ip es hat. müsste man auch mal ändern...
 
hoi..

ich hab gerade die 04b version ausprobiert - leider kein unterschied, d.h. es wird immernoch kein http-download-traffic angezeigt, nur der upload..
übrigens, traffic über den vnc-port (5900) wird komischerweise auch korrekt angezeigt, up und down (wie skype).. :confused:

beim start-befehl hast du jetzt --superhost dahinter, was ich bei der letzten version nicht hatte.. aber auch der parameter bewirkt bei mir nichts.. was macht er eigentlich?

mit --pppoe zeigt er überhaupt nix an (0 bytes, 0 packets).. muss man da noch irgendwas ändern, z.b. das interface? ich hab den parameter einfach nur angefügt (also -i lan usw. steht immernoch drin)..

e: achja, ganz unabhängig davon hätte ich noch ein feature request *gg* - nämlich den momentanen traffic.. angezeigt wird ja "min: xx KB/s, avg: xx KB/s, max: xx KB/s" - aber es wäre auch ganz nett, den momentan-wert (für up und down) anzuzeigen, wäre auch fürs testen ganz hilfreich..
ich denke, das dürfte kein zu großer aufwand sein, einfach die werte für den "rechten" balken im 60s-graph hinzuschreiben..
 
Zuletzt bearbeitet:
Hi Novgorod,

ja das mit dem momentanen Wert habe ich schon öfter gehört. Ist vom Implementieren nicht schwer, aber man bräuchte eine gute Stelle dafür.

Superhost ist oben beschrieben.. *räusper*. Es gibt dann den host 0.0.0.0, der eine gesamtübersicht über alle pakete bietet.

Ja, für --pppoe muss man ein anderes interface angeben, müsste eigentlich dsl sein, wenn du ein externes modem benutzt, dann eth0 oder eth1.

Der http-traffic kommt auch sicher aus dem Internet ja? Weil lokale übertragungen habe ich ja explizit weggelassen.

Du kannst es mal ohne -f ' ( ... )' probieren.
 
Neue Version mit richtigem -pppoe support

Hi,

eine neue Version, die das vorige Problem mit nicht erfassten PAketen ohne PErformanceprobleme beheben sollte und jetzt auch auf den meisten Boxen mit auf dem dsl interface funktioniert:

/var/tmp/darkstat -i dsl -b 192.168.178.1 --no-promisc --ports-max 60 --ports-keep 20 --hosts-max 600 --hosts-keep 100 --highest-port 32768 --chroot /usr/share/telefon --no-dns --verbose --no-daemon --user darkstat --pppoe

Damit müssten nun wirklich alle übertragenen Daten erfasst werden. Ich bin mal gespannt, ob es die Zwangstrennung überlebt...

Update:
Das Kommando mit --pppoe funktioniert überhaupt nicht vernünftig. Ich weiß auch nicht warum. Es werden zwar Pakete aufgezeichnet, aber definitiv nicht alle und nicht so wie sie es sollten.
Das Problem besteht weiterhin, dass entweder mit -i lan nur lan oder mit -i tiwlan0 nur wlan aufgezeichnet wird. Wenn jemand eine Lösung weiß bitte bescheid sagen.
Es empfiehlt sich also die angehängte Version mit den zuletzt geposteten Kommandos zu benutzen.

Viel Spaß. Rückmeldungen wie immer sehr willkommen.
 

Anhänge

  • 05-darkstat-git+offpeak+superhost+fix.bz2
    166.1 KB · Aufrufe: 102
Zuletzt bearbeitet:
Frage

Giebt es eine andere Lösung die funktioniert (Andere Software), wir haben hier eine FB 7170 und müssen den Traffic einzelner Rechner erfassen.
 
Ja. Mehrere. Aber für die FritzBox? Mit Auswertung der einzelnen Rechner?

Was ist denn das Problem mit Darkstat?
 
Es logt scheinbar nur den UpLoad korrekt ... habe mehrere GB geladen aber laut Darkstat habe ich nur einen Traffic von einigen hundert kB :(
 
@FelixAdam: Welche Version und welche Optionen benutzt du denn? Ist der Rechner über lan oder wlan angeschlossen?

Vermutlich hast du das falsche Interface (bei Wlan normalerweise tiwlan0, bei lan normalerweise lan) oder eine besondere IP oder nicht mit -l die netmask angegeben (s. Beiträge für Beispiele). Mehr kann ich so nicht sagen. Ist alles nur raterei. Am besten du schickst logs wie gingerblue.
 
Zuletzt bearbeitet:
Hallo djtm,

darkstat 3.0.0-git (built with libpcap 2.4) aus 05-darkstat-git+offpeak+superhost+fix.bz2
Ich habe auch keinen download, höchstens upload.
Aufruf: /var/tmp/darkstat -i dsl --pppoe -b 192.168.178.1 -p 12345 --user root --chroot /usr/share/telefon --ports-max 30 --ports-keep 15 --hosts-max 600 --hosts-keep 60

Dann lade ich OpenOffice runter, mit 50-60 KB/s und meine Graphs sehen so aus:
Graphs (dsl)
Running for 30 secs, since 2008-11-03 09:05:00 CET+0100.
Total 12,941 bytes in 193 packets
in min: 0.1 KB/s, avg: 0.0 KB/s, max: 0.2 KB/s
out min: 0.0 KB/s, avg: 0.0 KB/s, max: 0.0 KB/s
last 60 seconds

Hosts (dsl)
(1-15 of 15)
IP Hostname In Out Total
84.227.139.24 0 11,714 11,714
192.168.178.20 11,365 0 11,365
87.230.91.62 3,832 3,865 7,697
213.3.19.252 3,780 3,780 7,560
84.253.33.138 3,780 3,720 7,500
212.36.0.70 120 1,620 1,740
192.168.178.7 1,620 0 1,620
169.254.2.1 446 0 446
212.117.200.148 0 320 320
195.186.1.111 68 109 177
130.60.75.69 76 76 152
192.168.180.1 0 126 126
192.168.178.137 109 0 109
192.168.178.2 76 0 76
194.230.1.71 58 0 58

Hilft Dir das?

James
 
same result with wifi0:
/var/tmp/darkstat -i wifi0 -b 192.168.178.1 -p 12345 --user root --chroot /usr/share/telefon --ports-max 30 --ports-keep 15 --hosts-max 600 --hosts-keep 60



Graphs (wifi0)
Running for 3 hrs, 47 mins, 28 secs, since 2008-11-03 15:14:14 CET+0100.
Total 46,754,822 bytes in 141,885 packets

in min: 0.0 KB/s, avg: 0.0 KB/s, max: 0.0 KB/s
out min: 0.0 KB/s, avg: 0.0 KB/s, max: 0.0 KB/s
last 60 seconds
(same for last 60 minutes and last 24 hours)


Hosts (wifi0)
(1-30 of 149)
IP Hostname In Out Total
192.168.178.21 PC1 27,337,278 0 27,337,278
87.221.96.12 (Unknown host) 0 21,147,469 21,147,469
192.168.178.102 PC2 20,010,084 0 20,010,084
87.248.211.164 cds234.lon.llnw.net 0 11,170,700 11,170,700
87.248.211.252 cds422.lon.llnw.net 0 5,267,997 5,267,997
192.168.178.1 fritz.fonwlan.box 0 2,745,822 2,745,822
81.24.65.52 0 813,240 813,240
94.23.3.183 ns204143.ovh.net 0 350,204 350,204
195.141.77.10 (Unknown host) 0 310,785 310,785
216.34.181.97 vhost.sourceforge.net 0 274,807 274,807
195.141.77.9 (Unknown host) 0 263,905 263,905
87.248.211.202 cds272.lon.llnw.net 0 152,300 152,300
87.248.211.240 cds410.lon.llnw.net 0 149,013 149,013
87.248.212.39 cds458.lon.llnw.net 0 144,399 144,399
66.218.161.68 (Unknown host) 0 128,569 128,569
217.26.52.33 0 115,740 115,740
87.248.211.214 cds284.lon.llnw.net 0 115,208 115,208
239.255.255.250 (Unknown host) 112,016 0 112,016
62.2.177.82 0 103,524 103,524
212.90.210.109 genrev.cybernet.ch 0 100,744 100,744
87.248.210.229 cds199.lon.llnw.net 0 85,440 85,440
213.3.15.254 254.15.3.213.fix.bluewin.ch 0 79,131 79,131
207.46.113.217 (Unknown host) 0 77,548 77,548
10.252.255.255 (Unknown host) 77,297 0 77,297
87.248.210.155 cds125.lon.llnw.net 0 65,669 65,669
85.214.115.219 mirukond.ip-phone-forum.de 0 65,464 65,464
77.238.187.39 l1.ycs.vip.uls.yahoo.com 0 61,369 61,369
193.126.232.45 www.abola.pt 0 61,362 61,362
207.46.27.82 by2msg2263508.mixer.edge.messenger.live.com 0 58,049 58,049

HTH, james
 
Zuletzt bearbeitet:
Hallo.

Mein Einstandsposting:
Ich habe mir heute "05-darkstat-git+offpeak+superhost+fix" heruntergeladen und entsprechend eingerichtet.

Code:
# ./darkstat -i cpmac0 -b 192.168.0.89 --no-promisc --ports-max 60 --ports-keep 20 --hosts-max 600 --hosts-keep 100 --highest-port 32768 --chroot /usr/share/telefon --user root -l 192.168.0.0/255.255.255.0
Darkstat läuft soweit, dass das Downloadvolumen entsprechend angezeit wird. Die CPU-Auslastung liegt derzeit bei max. 13% (mit DNS-Auflösung)
Das Downloadvolumen entspricht incl. Overhead in etwa den Daten die durch meine DSL-Leitung fließen

Wie kann ich Darkstat dazu bewegen mir das Uploadvolumen für die einzelnen IP's aufgeschlüsselt anzeigen zu lassen ?
Hinweis: Wenn ich das Interface "lan" benutze wird mir Up/Down angezeigt mit wenigen kb/s angezeigt.


Anbei meine Daten von ifconfig und ps (MAC's gekürzt)
Code:
#ifconfig
adsl      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
-00
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:2000  Metric:1
          RX packets:317305 errors:0 dropped:0 overruns:0 frame:0
          TX packets:223045 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:32
          RX bytes:436885077 (416.6 MiB)  TX bytes:26040129 (24.8 MiB)

ath0      Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XX
          UP BROADCAST RUNNING ALLMULTI MULTICAST  MTU:2290  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:406 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:94674 (92.4 KiB)

cpmac0    Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XX
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:245174 errors:0 dropped:0 overruns:0 frame:0
          TX packets:332468 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:25510413 (24.3 MiB)  TX bytes:434881177 (414.7 MiB)

dsl       Link encap:Point-to-Point Protocol
          inet addr:169.254.2.1  P-t-P:169.254.2.1  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP ALLMULTI MULTICAST  MTU:1500  Metric:1
          RX packets:27088 errors:0 dropped:0 overruns:0 frame:0
          TX packets:17983 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:12085174 (11.5 MiB)  TX bytes:3665760 (3.4 MiB)

eth0      Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XX
          UP BROADCAST RUNNING ALLMULTI MULTICAST  MTU:1500  Metric:1
          RX packets:245174 errors:0 dropped:0 overruns:0 frame:0
          TX packets:43400 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:128
          RX bytes:25510413 (24.3 MiB)  TX bytes:16234916 (15.4 MiB)

lan       Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XX
          inet addr:192.168.0.89  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING ALLMULTI MULTICAST  MTU:1500  Metric:1
          RX packets:239698 errors:0 dropped:0 overruns:0 frame:0
          TX packets:43403 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:20845376 (19.8 MiB)  TX bytes:16235090 (15.4 MiB)

lan:0     Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XX
          inet addr:169.254.1.1  Bcast:169.254.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING ALLMULTI MULTICAST  MTU:1500  Metric:1

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:985 errors:0 dropped:0 overruns:0 frame:0
          TX packets:985 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:91325 (89.1 KiB)  TX bytes:91325 (89.1 KiB)

wifi0     Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XX
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:9
          TX packets:432 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:113221 (110.5 KiB)
          Interrupt:80 Memory:c0380000-c0390000

# ps
 1031 root        528 S   ./darkstat -i cpmac0 -b 192.168.0.89 --no-promisc --p
 1032 root        492 S   ./darkstat -i cpmac0 -b 192.168.0.89 --no-promisc --p

Viele Grüße Gingerblue


AVM FritzBox 7270 16MB - FW 54.04.99.12606 - T-HOME C&S Comfort
 

Anhänge

  • hosts.jpg
    hosts.jpg
    34.7 KB · Aufrufe: 72
  • graph.jpg
    graph.jpg
    45.5 KB · Aufrufe: 58
Lässt sich die Hosts-Table speichern?

Gruß
 
Lässt sich die Hosts-Table speichern?

Gruß

Ich denke ja.

Wenn ich darkstat mit anderen Parametern starte, dann sollten die statistischen Daten gespeichert werden und beim erneuten Aufruf von darkstat wieder eingeladen werden.

z.B. so
Code:
# ./darkstat -i cpmac0 -b 192.168.0.89 --no-promisc --ports-max 60 --ports-keep 20 --hosts-max 600 --hosts-keep 100 --highest-port 32768 --user root -l 192.168.0.0/255.255.255.0 --chroot /var/tmp/darkstat --export statistik.db --import statistik.db


Gruß Gingerblue
 
echt super Tool, funktioniert sogar mit dem alten 2.4er Kernel.
Zur CPU-Last: ich habe bei mir ein Programm laufen, das die aktuelle CPU-Belastung der Box anzeigt und es ist kein Unterschied mit oder ohne darkstat feststellbar.
 
Erstmal sorry. Ich habe irgendwie keine Benachrichtigungen mehr bekommen, dass jemand geschriebne hat. Und dann kommen natürlich alle auf einmal... ;) Wenn ihr nach Wochen also keine Antwort kriegt, dann ruhig mal eine PM schicken.

same result with wifi0:
/var/tmp/darkstat -i wifi0 -b 192.168.178.1 -p 12345 --user root --chroot /usr/share/telefon --ports-max 30 --ports-keep 15 --hosts-max 600 --hosts-keep 60
(...)

Hi,

erstmal: es reicht, wenn ich generell sagt, dass es nicht stimmt und ungefähr wie schlimm es ist. Ich habe einen Fehler in der Implementierung für Linux gefunden, für den ich erstmal einen Hotfix geschrieben habe, der das Problem allerdings noch nicht 100% löst. Es kann also gut sein, dass bei viel Traffic so 10% nicht in den Statistiken auftauchen.

Bei dir ist aber eine andere Situation. Du hast wohl einen der "Klassiker" erwischt. Wenn man ein Interface angibt, das keine IP-Adresse hat, weiß darkstat sozusagen nicht, wer es ist - Identitätskrise ;). Man muss dann die IP und Netmask manuell angeben: z.B. -l 192.168.178.0/255.255.255.0

Was von den Angaben wohl eher helfen könnte, ist darkstat mit --verbose --no-daemon zu starten. Die Ausgaben davon könnten hilfreich sein bei der Diagnose. In der Regel ist es das falsche Interface. (Zeigt ifconfig Übertragung auf wifi0 und dsl? Du könntest aber auch das Problem haben, dass er seine IP nicht bestimmen kann, da dürfte verbose dann mehr sagen.

Zu --pppoe: Das Feature ist recht neu und noch sehr experimentell. Bisher habe ich --pppoe nur in einem Fall richtig zum laufen bekommen, undzwar mit externem DSL-Modem an eth0. Komischerweise gibt die Fritzbox den dsl-strom soweit ich weiß nicht her - darkstat sieht dann nur ein paar verirrte Pakete auf "dsl".

Viel Erfolg!
 
Zuletzt bearbeitet:
Wie kann ich Darkstat dazu bewegen mir das Uploadvolumen für die einzelnen IP's aufgeschlüsselt anzeigen zu lassen ?

Eigentlich müsste das natürlich automatisch so sein.

Die Netmask hast du auch schon angegeben (-l ...). Das ist jetzt ein verzwacktes Problem. Darkstat bräuchte wohl die genaue IP manuell eingeben können. Das könnte dann helfen. Aber er nimmt momentan nur wirkliche Netzmasken, keine exakten IPs an.
Probier doch mal die lokale IP manuell anzugeben: -l 192.168.178.1/255.255.255.255
Probier es doch mal auf dem adsl Interface, evtl. mit --pppoe? Wenn du es hinkriegst, sag bescheid. Viel Glück!

ps. Was du gepostet hast war vorbildlich! :) Alle wichtigen Informationen waren dabei. Am besten aber auch solche Auszüge (ifconfig, ps, --verbose) künftig als Anhang. Sonst werden die Einträge so schnell so groß und unübersichtlich...
 
Zuletzt bearbeitet:
Lässt sich die Hosts-Table speichern?

Ja, gingerblue macht es z.B. auch schon. Dafür kannst du --import und --export benutzen. Natürlich kann man für private Aufzeichnungen auch einfach die hosts HTML-Seiten, ggfs. rekursiv speichern. Die Balkendaten sind in einer XML-Datei.
 
Giebt es eine andere Lösung die funktioniert (Andere Software), wir haben hier eine FB 7170 und müssen den Traffic einzelner Rechner erfassen.

Es gibt eine andere Lösung mit anderer Software:

Mit http://fritz.box/cgi-bin/webcm?getpage=../html/capture.html im Browser, kannst Du auf der Box live mitschneiden (d. h. eine capture-file erzeugen) und diese Datei (capture-file) speichern und sofort oder später mit Wireshark analysieren/auswerten.
 

Anhänge

  • conversations.png
    conversations.png
    113.3 KB · Aufrufe: 84
Zuletzt bearbeitet:
Probier es doch mal auf dem adsl Interface, evtl. mit --pppoe? Wenn du es hinkriegst, sag bescheid. Viel Glück!

ps. Was du gepostet hast war vorbildlich! :) Alle wichtigen Informationen waren dabei. Am besten aber auch solche Auszüge (ifconfig, ps, --verbose) künftig als Anhang. Sonst werden die Einträge so schnell so groß und unübersichtlich...

Hi,

ich war lange nicht mehr im Forum.
Erstmal danke für die Blumen.:)

Den Parameter --pppoe habe ich Anfang November '08 ausprobiert (mit Labor-FW 54.04.99.12606) - jedoch ohne Erfolg beim Interface 'cpmac0'.

Seitdem AVM endlich die FW 54.04.67 veröffenlicht hat bin ich zum freetz umgestiegen. Heute habe ich darkstat mit meiner FW 'freetz-devel-2858M' probiert.
Im Anhang sind die Ergebnisse meines Tests.

Das Interface 'adsl' und die Netzwerkbrücke 'cpmac0' funktionieren nicht mehr.
Das Interface 'lan' läuft noch genauso wie im November mit der alten FW.

zum Beispiel bei cpmac0 erscheint folgender Fehler:
Code:
ether: unknown protocol (0x8100)
lt. Wikipedia (Thema 'Ethernet') entspricht das Protokoll 0x8100 -->VLAN

Wäre es möglich den Standard VLAN in darkstat mit zu integrieren ?

Viele Grüße Gingerblue
 

Anhänge

  • darkstat_adsl.txt
    14.7 KB · Aufrufe: 17
  • darkstat_cpmac0.txt
    16.1 KB · Aufrufe: 5
  • darkstat_lan.txt
    17 KB · Aufrufe: 15
Wäre es möglich den Standard VLAN in darkstat mit zu integrieren ?

Das Problem ist meistens, dass der Linktyp tatsächlich nicht dekodiert werden kann. Deshalb beendet sich darkstat dann. Ich habe in der angehängten Version mal den Check ausgehebelt. Sag bitte bescheid ob du damit Erfolg hast, dann bringe den Patch in den Entwicklerzweig ein. Es sieht aber nicht so aus, als würde das klappen. Die Pakete sind wohl wirklich die falschen.

Ich weiß grad auch nicht weiter. Man müsste wirklich mal die Pakete abfangen und überprüfen, was da überhaupt übertragen wird... (s.o. sf3978)

Diese Version ist relativ fix zusammengewürfelt und sollte nur zum test dienen.
 

Anhänge

  • darkstat-current.bz2
    163.8 KB · Aufrufe: 43
Zuletzt bearbeitet:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.