darkstat static binary (IP Traffic Bandwidth Monitor) by djtm

Code:
koyash # touch statistik.db
...hab aber keine Ahnung ob das überhaupt funktioniert.
Bis jetzt bleibt die auf 0 Byte.
 
In welchem Pfad soll die statistik.db denn liegen?
Ich finde nirgends eine.

Könnte man das Ganze nicht auch ohne den User nobody und ohne den Pfad empty
und dann so starten:
darkstat3.0.717_tolerant_mips_static -i lan -p 88 -b 192.168.0.1 --user root --chroot /var/tmp --no-dns
 
Zuletzt bearbeitet:
Hallo,

ich habe darkstat bei mir auch unter root laufen. Ich sehe auch keinen Grund für nobody.
statistik.db soll im Verzeichnis, was unter "--chroot" angegeben ist liegen.
 
Wo liegen eigentlich die "index.html" und die anderen Dateien?
Eigentlich nirgends, das ist alles programmintern ;-).
Die statischen Inhalte dieser "Pseudodateien" werden beim Bauen des Programms aus den Dateien im Ordner "static" generiert.
Je nach aufgerufener URL antwortet das Programm dann anders...
 
Hoffentlich klappt dass!!! Da ich meinen Netzwerkverkehr sehr gerne mit dem Programm überwachen würde (und zwar ohne Freetz)
Hallo Wolf6660,

sicher klappt das: versprochen ist versprochen. Die Anleitung ist online :) Erstmal nur in Deutsch. Ich würde dann auch um Feedback bitten. Viel Spaß mit darkstat!

Gruß
R@d
 
Moin

Kleiner Tip womit ihr was überwachen tut:

-i lan - gesamter LAN Verkehr
-i eth[0-3] - was jeweils über Lan1 bis Lan4 geht.
-i dsl - Verkehr vom und zum Internet (nur auf Router).
darkstat3_dsl_01.png
Vorsicht! DarkStat kann Paranoia verursachen!
(Wie: Was wollen die von mir?)

Hab auch das Skript etwas aufgemöbelt.
Die Parameter können jetzt "gesammelt" für start und restart angegeben werden.
Also: BINARY und PARAS anpassen und gut ist.
darkstart.sh
Code:
#! /bin/sh
# darkstart 22/01/2014 by koyanisqatsi
# invoke it like a init script with mkuser or start, stop or restart
# example: darkstart mkuser
#          darkstart start
#          darkstart restart
#          darkstart stop
# Note: with database (--import, --export) you have to create (touch) the file first !!!
if [ $# -gt 0 ] ; then
# set the path to darkstat and set arguments
BINARY='/var/media/NEW_LINK/mips/darkstat'
PARAS='-i dsl -b 192.168.178.1 -p 8081 --user nobody --chroot /var/media/NEW_LINK --verbose'
if [ $1 = "mkuser" ]
then
# adds nobody to passwd and group file
echo "nobody:x:65535:65535:nobody:/nonexistent:/bin/false" >> /etc/passwd
echo "nobody:x:65535:" >> /etc/group
echo "User nobody and group nobody created (dont run me again)"
fi

if [ $1 = "start" ]
then
echo "...starting darkstat"
$BINARY $PARAS
echo "...starting darkstat done"
fi

if [ $1 = "stop" ]
then
echo "...stoping darkstat"
killall darkstat
echo "...stoping darkstat done"
fi

if [ $1 = "restart" ]
then
echo "...restarting darkstat"
killall darkstat
echo "...darkstat killed"
sleep 1
$BINARY $PARAS
echo "...restarting darkstat done"
fi

else
echo $0": No Argument, try one of: mkuser start stop restart"
fi
#eof
...muss jeder für sich entscheiden ob darkstat mit root Rechten läuft.
 
Zuletzt bearbeitet:
@radislav: ich hab dein Skript mal in der Rudishell ausgeführt und noch von Hand /var/media/data/noBackup/darkstat/darkstat angelegt.

Ich bekomme jedoch selbst wenn ich die Berechtigung der Ordner setzte ein

"...starting darkstat
/var/tmp/darkstat.sh: line 81: /var/media/data/noBackup/darkstat/darkstat: Permission denied
...done"
 
ups /var/media/data/noBackup/darkstat/ ist natürlich sehr schlecht an dieser Stelle: ist ja mein Verzeichnis. Ändere ich sofort.

ansonsten ist es vielleich etwas verwirrend: das letzte darkstat ist ein binary und muss ausfürbar sein. also unter "/var/media/data/noBackup/darkstat" soll "darkstat" als binary liegen
 
Permission denied
...deutet daraufhin, dass die Rechte für Ausführen nicht gesetzt sind.
Nicht darkstat.sh sondern von: /var/media/data/noBackup/darkstat/darkstat
Also: chmod +x /var/media/data/noBackup/darkstat/darkstat
 
ich habe es nun auf /var/tmp korrigiert. chmod +x ist in meiner Beschreibung drin. Sorry.

Man beachte aber, dass alles in /var/tmp nach neustart weg ist
 
Hi, danke Dir. Ich starte meine Box recht selten neu. Zur Not mach ich das eben neu.

Wenn ich jetzt dein Skript ausführe bekomme ich ein

"...starting darkstat
/var/tmp/darkstat: line 1: syntax error: unexpected "("
...done"
 
Zuletzt bearbeitet:
Welche Binary hast du da?
Nimm einfach die Andere.
 
Vielen Dank für die Info. Bekomme jetzt nur noch den Hinweis

...starting darkstat
4967: warning: at pos 0: tried to read 4 bytes, got 0
4967: warning: import failed
...done

Funktioniert super!

@radislav: Evtl. passt du dein Skript noch an.
 
Zuletzt bearbeitet:
@f4lkon: könntest du bitte die ausgabe von "cat /proc/cpuinfo" hier posten? anscheinend ist die methode doch nicht so gut :/
 
cat /proc/cpuinfo
system type : TI UR8 (7270)
processor : 0
cpu model : MIPS 4KEc V6.8
BogoMIPS : 359.62
wait instruction : yes
microsecond timers : yes
tlb_entries : 16
extra interrupt vector : yes
hardware watchpoint : no
ASEs implemented :
shadow register sets : 1
core : 0
VCED exceptions : not available
VCEI exceptions : not available

Hast du evtl. auf deiner HP die Mips und Mipsel Version vertauscht?
 
@Rad: MaxMuster hat mal eine Abfrage gepostet, die sollte auch auf Standard busybox Fritz!Boxen funktionieren.
Getestet mit:
7360SL (big-endian=MIPS)
7270v2 (little-endian=MIPSEL)
7113 (little-endian=MIPSEL)
Code:
[ l = "$(dd  if=/bin/busybox skip=5 count=1 bs=1c 2>/dev/null | tr '\x01\x02' 'lb')" ] && echo little-endian || echo big-endian
Kurzform eines if then else fi <--> [ Bedingung ] && <-- then || <-- else
little-endian=MIPSEL
big-endian= MIPS
 
Zuletzt bearbeitet:
Hallo,

irgendetwas mach ich falsch komme nicht drauf.

1. Ich habe die darkstat.sh und darkstat.mips auf meinen USB-Stick kopiert. In den Dateien habe ich nichts verändert

2. debug.cfg angepasst - Nur HDD angepasst
Code:
HDD='INTENSO-USB-01'     # ACHTUNG: unbedingt anpassen!
HDD_ABSOLUT='/var/media/ftp/'$HDD
 
TEMP=/var/tmp
 
while ! [ -d $HDD_ABSOLUT ] ; do sleep 5; done 
 
cd $TEMP
cp $HDD_ABSOLUT/darkstat/darkstat $TEMP
cp $HDD_ABSOLUT/darkstat/darkstat.sh $TEMP
chmod +x darkstat
chmod +x darkstat.sh
 
$TEMP/darkstat.sh start

3. Fritzbox neu gestartet - nix funktioniert. Wie kann ich die debug.cfg ausführen ohne neustart oder Fehlermeldung einsehen.

Vielleicht vergesse ich auch etwas!!

Danke
 
...Vielleicht vergesse ich auch etwas!!
Ja, du hast vergessen, daß dein USB-Laufwerk direkt nach dem Neustart der FritzBox noch nicht erreichbar ist.
Versuch es doch mal damit (der Name für deine HDD wird dabei auch automatisch eingetragen):
Code:
# # # # # Warten bis USB-Stick gemountet ist
max=5
i=0
while [ $i -lt $max ]; do
	if mount | grep " on /var/media/ftp/" > /dev/null; then
		break
        fi
        let i=$i+1
        sleep 5
done
#
# # # # # ENDE USB-Stick Warteschleife

HDD=$(mount | grep /var/media/ftp/ | sed -e "s|^.*ftp/||g" -e "s/ .*$//")
HDD_ABSOLUT='/var/media/ftp/'$HDD
 
TEMP=/var/tmp
 
while ! [ -d $HDD_ABSOLUT ] ; do sleep 5; done 
 
cd $TEMP
cp $HDD_ABSOLUT/darkstat/darkstat $TEMP
cp $HDD_ABSOLUT/darkstat/darkstat.sh $TEMP
chmod +x darkstat
chmod +x darkstat.sh
 
$TEMP/darkstat.sh start
Joe
 
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.