tshark
の出力をawk
にパイプしようとしています。 tsharkコマンドはそれ自身で正常に動作し、cat
のような他のプログラムにパイプすると、正常に動作します(出力のリアルタイム印刷)。しかし、awkにパイプすると、ハングアップして何も起こりません。awkへの配管が掛かります
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
おかげでここ
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バージョンです。
LinuxのOS /バージョンはどうしたらよいですか。また、システムに 'unbuffer'がある場合は、それをミックスに追加してみてください。かなりの解決策ではありませんが、それが必要な場合は、それが可能です。がんばろう。 – shellter
Ubuntu 11.04を使用しています。私はバッファーなしで行ったが、運がない - それはちょうどハングアップする。 – Kevin
あなたの質問は十分に文書化されています。しかし、 'cat'を使った最後の例がtsharkへのオプション、すなわち '-T fields ...'が使われているときにも動作すると仮定するのは安全でしょうか? awkは出力を処理する上で問題にならないはずです。また、 'sudo'を写真から取り除くとどうなりますか?がんばろう。 – shellter