tshark / wiresharkを使用してTCPストリームを継続的にキャプチャする方法は?

tshark / wiresharkを使用してTCPストリームを継続的にキャプチャする方法は?

out.pcap完了したキャプチャされたTCPストリームを表示します。

END=$(tshark -r out.pcap -T fields -e tcp.stream | sort -n | tail -1); 
for ((i=0;i<=END;i++));
do 
echo $i; tshark -r out.pcap -qz follow,tcp,ascii,$i 
done 

このようにして、パケットキャプチャ中に新しく終了したTCPストリームをどのように表示できますか?

ベストアンサー1

おすすめですtcpflow

tsharkを実際に使用する必要がある場合、醜い解決策は次のとおりです。

REFF=/tmp/.streams
echo "" > $REFF
while true 
do
tshark -r $@ -T fields -e tcp.stream 2> /dev/null | sort -nu | sed '/^$/d' | while read i
do
    if [ -z "$(cat $REFF | grep "^$i$" )" ]
    then
          tshark -r $@ -qz follow,tcp,ascii,$i  | tee ${@}-stream-$i.txt
          echo $i >> $REFF
    fi
done
done

おすすめ記事