我試圖在python中處理tcpdump輸出。在Python中處理tcpdump輸出
我需要的是運行tcpdump的(其捕獲的數據包,給我的信息),並讀取輸出和處理它。
的問題是,tcpdump的不斷運行下去,我需要儘快讀取數據包信息,因爲它輸出,並繼續這樣做。
我試圖尋找到蟒子,並嘗試使用POPEN tcpdump和管道的標準輸出,但它似乎沒有工作的通話。
就如何處理該地進行的任意方向。
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()
您可以發佈您的代碼那麼遠?謝謝。 –
你可以[使用僞tty強制行緩衝輸出](http://stackoverflow.com/a/12471855/4279) – jfs