您可以使tcpdump用“ -l”行缓冲。然后,您可以使用子流程捕获输出结果。
import subprocess as sub
p = sub.Popen(('sudo', 'tcpdump', '-l'), stdout=sub.PIPE)
for row in iter(p.stdout.readline, b''):
print row.rstrip() # process here
在python中处理tcpdump输出
您可以使tcpdump用“ -l”行缓冲。然后,您可以使用子流程捕获输出结果。
import subprocess as sub
p = sub.Popen(('sudo', 'tcpdump', '-l'), stdout=sub.PIPE)
for row in iter(p.stdout.readline, b''):
print row.rstrip() # process here