Fuzando e exibindo pacotes TCP no UTF-8
Pergunta
Estou tentando usar o TCPDUMP para exibir o conteúdo dos pacotes TCP que fluem na minha rede. Eu tenho algo como:
tcpdump -i wlan0 -l -A
A opção -a exibe o conteúdo como texto ASCII, mas meu texto parece ser UTF -8. Existe uma maneira de exibir UTF-8 usando o TCPDUMP? Você conhece outras ferramentas que poderiam ajudar?
Muito Obrigado
Solução
Verifique se o seu terminal suporta a saída de UTF-8 e coloque a saída para algo que substitui caracteres não imprimíveis:
tcpdump -lnpi lo tcp port 80 -s 16000 -w - | tr -t '[^[:print:]]' ''
tcpdump -lnpi lo tcp port 80 -s 16000 -w - | strings -e S -n 1
Se o seu terminal não suportar UTF-8, você precisará converter a saída em uma codificação suportada. Por exemplo:
tcpdump -lnpi lo tcp port 80 -s 16000 -w - | tr -t '[^[:print:]]' '' | iconv -c -f utf-8 -t cp1251
-c
a opção informa iconv
omitir o caráter que não possui representação válida na codificação de destino.
Outras dicas
Existem muitas opções que você pode explorar para os pacotes de cheirar.
O Wireshark é o sniffer mais útil e está disponível gratuitamente para todas as plataformas. Possui um recurso Rich GUI que o ajudará a farejar pacotes e analisar protocolos. Possui muitos filtros para que você possa filtrar pacotes indesejados e olhar apenas para pacotes em que está interessado. Confira a página da web em: Disponível para download para Windows e OS X
Para Dowload para distos Linux, confira esse link
Se você preferir uma solução alternativa mais sobre as linhas do TCPDUMP, também pode explorar o TCPFlow, que é definitivamente uma boa opção para analisar pacotes. Ele também fornece uma opção para armazenar os arquivos para análise posterior. Verifique este link: TCPFLOW
Outra opção é Justsniffer
O que provavelmente aborda melhor o seu problema e fornece o log de modo de texto e é personalizável.
tcpdump -i wlan0 -w packet.ppp
Este comando armazena os pacotes em packet.ppp
Depois disso, abra -o no Wireshark
wireshark packet.ppp
Clique com o botão direito do mouse no pacote e selecione Siga o pacote TCP
então você pode ter formatos diferentes disponíveis para visualizar os dados no Wireshark.
Obrigado, Munipratap.