Опитвам се да се справя с изхода на tcpdump в python.
Това, от което се нуждая, е да стартирам tcpdump (който улавя пакетите и ми дава информация) и да прочета изхода и да го обработя.
Проблемът е, че tcpdump продължава да работи вечно и трябва да прочета информацията за пакета веднага щом се изведе и да продължа да го правя.
Опитах да разгледам подпроцеса на python и се опитах да извикам tcpdump с помощта на popen и прехвърляне на stdout, но изглежда не работи.
Някакви указания как да процедирам с това.
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()