subprocess - python实时获取tcpdump输出
本文介绍了subprocess - python实时获取tcpdump输出的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
linux tcpdump命令行执行后回显是一行一行输出的,但是如果用python的subprocess执行tcpdump命令就会成为一段一段的回显,实时性不高。这个怎么解决?有人说是tcpdump本身的原因,和linux缓存有关系,但是python有没有办法实现和命令行一行一行输出的效果。
代码如下
#coding=utf-8
import subprocess
p = subprocess.Popen("tcpdump udp -i eth0",shell=True,stdout=subprocess.PIPE)
while p.stdout.readline()!=' ':
line = p.stdout.readline()
line = line.strip()
print line
解决方案
tcpdump -l
选项
这篇关于subprocess - python实时获取tcpdump输出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文