Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como usar o wireshark para capturar o sql da consulta mysql claramente


Você pode usar o tshark e salvar em um pcap ou apenas exportar os campos de seu interesse.

Para salvar em um pcap (se você quiser usar o wireshark para ver mais tarde):
tshark -i lo -Y "mysql.command==3" -w outputfile.pcap
tshark -i lo -R "mysql.command==3" -w outputfile.pcap
-R is deprecated for single pass filters, but it will depend on your version
-i is interface so replace that with whatever interface you are using (e.g -i eth0)

Para salvar em um arquivo de texto:
tshark -i lo -Y "mysql.command==3" -T fields -e mysql.query > output.txt

Você também pode usar filtros BPF com tcpdump (e filtros wireshark pre cap). Eles são mais complexos, mas menos onerosos para o seu sistema se você estiver capturando muito tráfego.
sudo tcpdump -i lo "dst port 3306 and  tcp[(((tcp[12:1]&0xf0)>>2)+4):1]=0x03" -w outputfile.pcap

NOTA:
*Isso procura 03 (semelhante ao mysql.command==3) dentro do payload TCP.
**Como este é um filtro bastante solto, também adicionei 3306 para restringir apenas o tráfego destinado a essa porta.***O filtro é baseado em sua captura de tela. Não posso validar agora, então me avise se não funcionar.

Exemplo de saída: