tcpflowとgrepを使用したHTTPログ、ファイルへのリダイレクトが機能しない(空のファイル)

tcpflowとgrepを使用したHTTPログ、ファイルへのリダイレクトが機能しない(空のファイル)

特定のポートに到着するキーワードを含む特定のHTTP要求を記録したいと思います。tcpflowうまくいきますが、フィルタ処理された結果を出力ファイルに書き込むことはできません。

このコマンドがなぜ完全に動作し(「Detect」が私が探しているキーワードなのか)、必要な行だけを表示するのはわかりません。

tcpflow -p -c -i eth0 port 80 | grep detect 

同時に、これはまったく機能しません。 log.txtファイルが空です...

tcpflow -p -c -i eth0 port 80 | grep detect  > log.txt 

これがバイナリ出力に関連しているようですが?

これはうまくいきますが、巨大なファイルが生成されるためです(それほど多くのデータは必要ありません)。

tcpflow -p -c -i eth0 port 80 > log.txt
grep log.txt --text detect

プロパティでのみ動作し--text(バイナリファイル形式については言及されていません)、数日後にファイルが非常に大きくなる可能性があります。

ベストアンサー1

コメントありがとうございます Arkadiusz Drabczykに感謝します。次のデモで使用できます。

sudo tcpflow -i eth0 port 8080 -c | grep -A 50 "detect" --line-buffered  > /tmp/tcpflow.log

おすすめ記事