人間が読めるようにtcpdumpの出力をどのように変更しますか?

人間が読めるようにtcpdumpの出力をどのように変更しますか?

tcpdumpコマンドがあります。

tcpdump -i wlan0 dst port 80 and ! dst 192.168.1.201 and ! src 192.168.1.201 -vvv -s0 -w proba.txt

次の出力を提供します。

root@SERVER:/tmp# egrep "GET|Host:" proba.txt | awk 'BEGIN {FS=" "}{print $2}'
emaffia.hu
/
google.hu
/
www.google.hu
emaffia.hu
/textinputassistant/tia.png
www.google.hu
/logos/2011/pierre_de_fermat-2011-hp.jpg
www.google.hu
/gb/images/b_8d5afc09.png
ssl.gstatic.com
/favicon.ico
www.google.hu
/
hwsw.hu
/js/mootools-1.2.5.1-more.js
www.hwsw.hu

この出力を取得するには、この行をどのように変更する必要がありますか? :

emaffia.hu/
google.hu/
www.google.hu
emaffia.hu/textinputassistant/tia.png
www.google.hu/logos/2011/pierre_de_fermat-2011-hp.jpg
www.google.hu/gb/images/b_8d5afc09.png
ssl.gstatic.com/favicon.ico
www.google.hu/
hwsw.hu/js/mootools-1.2.5.1-more.js
www.hwsw.hu

可能ですか?

答え1

tcpflow代わりに、プロトコルをデコードし、人間が読めるテキストストリームを生成するプロトコルを調べることをお勧めします。デフォルトではファイルに移動しますが、-cフラグはそれをコンソールに出力します。tcpflow私のお気に入りの隠された宝石の一つです。

答え2

sedただし、次のように解析コマンドの出力をパイプできます。

 egrep "GET|Host:" proba.txt | awk 'BEGIN {FS=" "}{print $2}' | sed ':a;N;$!ba;s/\n\//\//g'

関連情報