Umgang mit tcpdump output in python

Ich versuche zu verarbeiten tcpdump output in python.

Was ich brauche, ist die Ausführung von tcpdump (die fängt die Pakete und gibt mir Informationen) und die Ausgabe Lesen und verarbeiten.

Das problem ist, dass tcpdump läuft ewig und ich brauche zum Lesen der Paket-info, sobald es ausgibt und fortfahren, es zu tun.

Ich habe versucht, in Teilprozess der python und versuchte Aufruf tcpdump mit popen und umleiten der Standardausgabe, aber es scheint nicht zu funktionieren.

Alle Anweisungen, wie gehen Sie mit diesem.

import subprocess

def redirect():
    tcpdump = subprocess.Popen("sudo tcpdump...", stdin=subprocess.PIPE, stdout=subprocess.PIPE, shell=True)
    while True:
        s = tcpdump.stdout.readline()
        # do domething with s

redirect()
InformationsquelleAutor ashish g | 2013-07-28
Schreibe einen Kommentar