Como modificar a saída do tcpdump para ser legível por humanos?

1

Eu tenho um comando tcpdump:

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

O que dá a seguinte saída:

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

Como posso modificar essas linhas para obter esta saída?:

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

É possível?

    
por LanceBaynes 30.08.2011 / 15:42

2 respostas

3

Você pode querer olhar para tcpflow , ele decodifica o protocolo e produz fluxos de texto legíveis por humanos. Por padrão, eles vão para um arquivo, mas o sinalizador -c imprime no console. tcpflow é uma das minhas jóias escondidas favoritas.

    
por 02.09.2011 / 18:13
0

Você canaliza a saída do seu comando de análise, embora sed - assim:

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

Tags