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'