Como posso filtrar a resposta correspondente para uma solicitação filtrada de exibição específica no wireshark?

1

Estou apenas rastreando um erro muito esporádico nas respostas a solicitações HTTP para um recurso específico no servidor da Web de um dispositivo incorporado.

Então, meu plano é executar um teste durante a noite (ou mesmo no fim de semana), capturar o tráfego com o wireshark e, em seguida, examinar os arquivos de despejo em busca de respostas danificadas.

Com "http.request.uri corresponde ao filtro de exibição ^ / resource / to / be / tested", recebo todos os pedidos desejados.

Mas preciso de todas as respostas para essas solicitações. Como posso arquivar isso?

    
por Peter 09.09.2011 / 16:18

1 resposta

1

Você pode fazer isso com tshark seguindo as etapas abaixo:

  1. Filtre todos os pacotes HTTP com um padrão específico na solicitação uri
  2. Siga o fluxo TCP com base em IP src, porta src, dst IP, porta dst
$ tshark -r x.pcap -R 'http.request.uri matches "^/resource/to/be/tested"' \
-T fields -e ip.src -e tcp.srcport -e ip.dst -e tcp.dstport | \
while read line; do 
    tshark -r x.pcap \
    -R "http && ip.addr == 'echo $line | awk '{ print $1 }'' && \
    tcp.port == 'echo $line | awk '{ print $2 }'' && \
    ip.addr == 'echo $line | awk '{ print $3 }'' && \
    tcp.port == 'echo $line | awk '{ print $4 }''" \
    echo
done
    
por 09.09.2011 / 18:17