Ich habe folgendes vor:
Mit tshark durchgängig den Netzwerkverkehr mitschneiden und den Inhalt in einen Puffer schreiben (zb fifo):
tshark -i eth0 -V >> tsharkpuffer
Dann will ich parallel den Verkehr nach bestimmten Mustern durchsuchen, bzw nur für mich interessante Zeilen filtern (hier Pseudo-filter) und auf dem bildschirm ausgeben:
cat tsharkpuffer | grep "xxx" | sed "s/y/z/g" | grep "w"
Leider funktioniert das ganze nicht, da tshark die Ausgabe puffert (-l für flush funktioniert anscheindend nicht mit Option -V). Ich bekomme einfach nach dem ersten grep die Ausgabe nicht mehr direkt weitergepipt...
Weiss einer da ne Lösung? Das ganze soll nachher auf einem Bildschirm bestimmt Daten des laufenden Verkehrs in Realtime ausgeben.
Problem bei Live-Auswertung von tshark-Daten
-
- Beiträge: 2
- Registriert: 15.01.2008 14:43:14
hi,
vielleicht liegt das garnicht am tshark sondern am cat,
Probier mal tail:
P.S. herzlich willkommen im Forum!
vielleicht liegt das garnicht am tshark sondern am cat,
Probier mal tail:
Code: Alles auswählen
tail -f tsharkpuffer | grep "xxx" | sed "s/y/z/g" | grep "w"
Beware of programmers who carry screwdrivers.
Könnte so etwas eigentlich auch funktionieren:
oder so:
Code: Alles auswählen
grep "xxx" tsharkpuffer | ...
Code: Alles auswählen
grep "xxx" < tsharkpuffer
-
- Beiträge: 2
- Registriert: 15.01.2008 14:43:14
Vielen Dank für die Antworten!
Hab das Problem mittlerweile selber gelöst.
Damit tshark die Daten immer direkt wegschreibt, muss man die Option -l angeben, welche aber anscheinend nicht zusammen mit der Option -V funktioniert.
Daher hab ich das nun wie folgt gelöst:
Zur Aufzeichnung:
tshark -i eth0 -l -w tsharkpuffer
und zur Auswertung :
tshark -r tsharkpuffer -V | grep ...
tsharkpuffer ist hierbei eine normale cap-datei (kein fifo).
Da tshark die Datei immer weiter vergrößert, muss man für den pausenlosen Einsatz die Größe des Puffers beschränken. Dafür gibt es bei tshark die Option '-a filesize:x' , welche das capturen nach x kilobyte Daten abbricht.
Um durchgängig Daten zu erfassen, wird die Aufzeichung mit tshark in einer Endlosschleife gestartet (Zeichnet bis zur beschränkten Dateigröße auf und fängt danach wieder von vorne an).
Hab das Problem mittlerweile selber gelöst.
Damit tshark die Daten immer direkt wegschreibt, muss man die Option -l angeben, welche aber anscheinend nicht zusammen mit der Option -V funktioniert.
Daher hab ich das nun wie folgt gelöst:
Zur Aufzeichnung:
tshark -i eth0 -l -w tsharkpuffer
und zur Auswertung :
tshark -r tsharkpuffer -V | grep ...
tsharkpuffer ist hierbei eine normale cap-datei (kein fifo).
Da tshark die Datei immer weiter vergrößert, muss man für den pausenlosen Einsatz die Größe des Puffers beschränken. Dafür gibt es bei tshark die Option '-a filesize:x' , welche das capturen nach x kilobyte Daten abbricht.
Um durchgängig Daten zu erfassen, wird die Aufzeichung mit tshark in einer Endlosschleife gestartet (Zeichnet bis zur beschränkten Dateigröße auf und fängt danach wieder von vorne an).