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