我想管tshark
輸出到awk
。 tshark命令可以正常工作,並且在連接到其他程序(如cat
)時,它可以正常工作(實時打印輸出)。但是,當傳輸awk時,它掛起而沒有任何反應。管道到awk掛起
sudo tshark -i eth0 -l -f "tcp" -R 'http.request.method=="GET"' -T fields -e ip.src -e ip.dst -e
tcp.srcport -e tcp.dstport -e tcp.seq -e tcp.ack | awk '{printf("mz -A %s -B %s -tcp \"s=%s sp=%s
dp=%s\"\n", $2, $1, $5, $4, $3)}'
這裏是一個simplier版本:
sudo tshark -i eth0 -f "tcp" -R 'http.request.method=="GET"' | awk '{print $0}'
,並比較,以下罰款作品(雖然不是非常有用):
sudo tshark -i eth0 -f "tcp" -R 'http.request.method=="GET"' | cat
在此先感謝。
請問什麼OS /版本的Linux。另外如果你的系統有'unbuffer',請嘗試添加到混合中。不是一個漂亮的解決方案,但如果你需要它的工作,這可能會做到。祝你好運。 – shellter
使用Ubuntu 11.04。我有一個非緩衝的去,但沒有運氣 - 它只是掛起。 – Kevin
您的問題已有詳細記錄。但是......假設你使用'cat'的最後一個例子也適用於所有tshark的選項,即'-T fields ...'的使用?看起來'awk'應該沒有問題處理輸出。另外,當你從圖片中取出「sudo」會發生什麼?祝你好運。 – shellter