sql >> Database teknologi >  >> RDS >> Mysql

Sådan bruger du wireshark til at fange mysql-forespørgsel sql klart

Du kan bruge tshark og gemme til en pcap eller bare eksportere de felter, du er interesseret i.

For at gemme til en pcap (hvis du vil bruge wireshark til at se senere):

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)

Sådan gemmer du i en tekstfil:

tshark -i lo -Y "mysql.command==3" -T fields -e mysql.query > output.txt

Du kan også bruge BPF-filtre med tcpdump (og wireshark pre cap-filtre). De er mere komplekse, men mindre belastende for dit system, hvis du fanger en masse trafik.

sudo tcpdump -i lo "dst port 3306 and  tcp[(((tcp[12:1]&0xf0)>>2)+4):1]=0x03" -w outputfile.pcap

BEMÆRK:
*Dette ser efter 03 (lignende mysql.command==3) inden for TCP-nyttelasten.
**Da dette er et ret løst filter, tilføjede jeg også 3306 for at begrænse til kun trafik bestemt til denne port.***Filtret er baseret på dit skærmbillede. Jeg kan ikke validere det lige nu, så lad mig vide, hvis det ikke virker.

Eksempeloutput:



  1. Hvordan man opretter en oracle sql script spool fil

  2. Hæver barren på MySQL, MariaDB, PostgreSQL og MongoDB Management

  3. SQL Server Subquery returnerede mere end 1 værdi. Dette er ikke tilladt, når underforespørgslen følger efter =, !=, <, <=,>,>=

  4. Sådan fanges SQLServer timeout undtagelser