sudo tshark -i ppp0 'tcp port 80 \
and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' \
-R'http.request.method == "GET" && http.request.uri contains "/ABC/XYZ"' \
-T fields -e http.host -e http.request.uri
上記のtsharkラインを使用して/ ABC / XYZに基づいて出力をフィルタリングしています。重複行の例が見つかった場所などの動的ランダムデータを出力します。
1bcdJOSHhijklmnopqrstuvwxyz
1bcdefghijklmnopqrstuvwxyz
1bcdefghijklmnopqrstuvwxyz
3bcdefghijklmnopqrstuvwxyz
2bcdefghijklmnopqrstuvwxyz
1bcdJOSHhijklmnopqrstuvwxyz
3bcdefghijklmnopqrstuvwxyz
ファイルを生成せずに一種のバッファまたはパイプを使用して重複エントリを削除する方法はありますか?
それともtshark自体ができますか?
編集:理由はわかりませんが、stdbuf -o L
mihhが提案したようにtsharkプレフィックスを付けて欲しいものを得ました。
答え1
tsharkに停止条件がある場合は、単に出力を|sort -u
。
awk '{if(!seen[$0]++)print}'
tsharkに標準出力をバッファリングしないように指示する必要があるかもしれませんstdbuf -o L
。 tsharkの前に。