Thread Datenstrom in Realtime mitlesen: tcpdump über Pipe an Perlscript übergebn
(5 answers)
Opened by Gast at 2007-01-02 14:17
Hallo !
Ich habe ein kleine Problem (ich hoffe ein kleines) Für die Überwachung von LAN-Partys lese ich mit Code: (dl
)
tcpdump -e -q -n -i eth0 ip >/root/logpipe Daten über einen Monitorport mit und analysiere die Daten aus der named Pipe mit einem Perl-Script um Statistiken zu erzeugen und Netzwerkprobleme zu erkennen. Das lief auf nem älteren SuSE8.2 auch ganz gut. Leider habe ich jetzt bei nem 10.1 das Problem, das die Daten nur noch blockweise in der Pipe erscheinen (habe ich mit tail -f getestet). Identisches geschieht auch bei einer normalen Datei. Ich erhalte die Daten also erst, wenn einige hundert Bytes zusammengekommen sind. Dann aber auf einmal. Ich benötige die Daten aber sofort. Auf der Konsole schreibt tcpdump die Ausgabe ja sofort. Nur nicht in eine Datei oder Pipe. Beim Schreiben aus Perl kann ich das über $| verändern (Flushen von Buffern oder so - Stand im Perl-Kochbuch von OReilly) Wie mache ich das aber außerhalb von Perl ???? Ich weiß - kein direktes Problem von Perl. Aber ich weiß nicht mehr weiter :-( Ich hoffe, mir kann hier einer helfen. Bei linuxforen.de habe ich noch keine Antwort bekommen. Schon mal besten Dank für alle Reaktionen. Gruß Bernd (bernd@sccweb.de) |