我正在以python代码运行tcpdump命令,我可以获取要写入输出文件的数据包。但是,如何将其写到输出文件以及stdout呢?当前,它仅在代码的readline()行上等待。还有一种方法可以计算运行tcpdump时读取的数据包数量吗?
from subprocess import Popen, PIPE, signal
import os
import time
pw = "12345678"
cmd = "sudo -S tcpdump -i wlp1s0 -U -w somefile"
process = Popen(cmd.split(),stderr=PIPE,stdout=PIPE,stdin=PIPE,universal_newlines=True)
process.stdin.write(pw + "\n")
print(process.stdout.readline())