[OpenWrt] Ausgabe von "iftop" direkt als HTML/PHP?

N

nighT

Hallo zusammen,

ich verwende seit einiger Zeit einen TP-Link Router mit OpenWRT Firmware.
Um den Traffic, der über den Router läuft, anzuzeigen verwende ich "iftop". Mit folgenden Parametern rufe ich das ganze auf:
Code:
iftop -i br-lan -m 950000 -B -N -P
Dazu muss ich bisher aber immer per SSH verbunden sein. Ich frage mich nun, ob es eine Möglichkeit gibt, die Ausgabe live auf einer Homepage anzuzeigen.
Sprich gibt es ein Framework um die Ausgabe eines SSH-Befehls live darzustellen?

Ich würde dabei ungern eine komplette Shell zur Verfügung stellen. Es soll nicht möglich sein, das ganze zu steuern. Das reine Anzeigen ist das Ziel.

Ich hoffe, ihr habt dazu einige Ideen.

Viele Grüße,
nighT
 
Ehm, ich hab jetzt OpenWRT noch nie benutzt, aber wenn ich das richtig verstehe hast du zugriff auf einen lokalen Webserver? Wieso laesst du die Ausgabe von dem Shell Skript dann nicht einfach in ein bestimmtes Verzeichnis schreiben dass du dann ueber den Webserver freigibst? Oder hab ich jetzt was missverstanden?

MfG,
bytepool
 
Erstmal danke für die Antwort.

Generell habe ich Zugriff auf den Webserver, ja.
Problematisch ist aber folgendes:
1. Die Ausgabe von iftop in eine Datei klappt nicht so einfach. Das Umleiten erzeugt ein unleserliches Textgewurstel, dass manchmal sogar nach dem beenden von iftop gelöscht wird. Es handelt sich bei iftop eben um eine curses-Anwendung. :hilfe2:
2. Die Ausgabe dauerhaft laufen lassen kann ich nicht, da der verwendete TP-Link Router nur noch ~5MB interner Speicher frei hat; und da würde ich gerne jede unnötige Datei sparen. :oldman

Ich hatte inzwischen folgende Idee:
Ich habe ein kleiner Linux-Server, auf dem ebenfalls ein Webserver (Apache) mit PHP installiert ist. Ich könnte doch vielleicht von dort per SSH den iftop-Befehl auf dem openwrt-System ausführen und die Ausgabe lokal speichern. Bleibt aber noch das Problem mit dem Durcheinander in der Datei. :think:
Kann ich PHP irgendwie dazu bewegen, die Datei so auszulesen, dass die Formatierung der in einer Console entspricht?
 
Pack dir einen Inetd auf die Kiste und lass die Ausgabe direkt auf einem Port ausgeben, ohne Webserver. Dann kannst du einfach via Telnet drauf oder dir eine PHP-Seite schreiben, die einen mininalen Telnet-Client enthält, der dann auf den entsprechenden Port geht und den Output so auf eine Website durchreicht.

Sonst bleibt vermutlich nur screenshoten und in eine HTML-Seite als Bild einfügen oder die Anwendung so umschreiben, dass du HTML-Output bekommst (z.B. bei der Eingabe eines zusätzlichen Parameters).
 
Siehe auch hier:
http://www.techques.com/question/2-379469/iftop---how-to-generate-text-file-with-its-output

PS: Das hier klappt, aber leider nur auf einer virtuellen Konsole (/dev/ttyX)
Code:
( sleep 5; setterm -dump $(basename $(tty) | cut -d "y" -f2) -file /tmp/iftop.dump; killall iftop ) & iftop
Du könntest also sowas wie
Code:
( sleep 5; while [ -n "$(ps | grep iftop)" ]; do sleep 15; setterm -dump $(basename $(tty) | cut -d "y" -f2) -file /tmp/iftop.dump; done ) & iftop
auf einer der /dev/ttyX laufen lassen und die (in dem Beispiel alle 15 Sekunden aktualisierte) /tmp/iftop.dump in ein HTML / XML / wasauchimmer - File einbauen.
 
Zuletzt bearbeitet von einem Moderator:

Ähnliche Themen

Ein komplizierteres Thema: Samba Server - XP-Pro Clients - wlan lan und und und

Zurück
Oben