sql >> Databasteknik >  >> RDS >> Mysql

Hur man använder wireshark för att fånga mysql-frågan sql tydligt

Du kan använda tshark och spara till en pcap eller bara exportera de fält du är intresserad av.

För att spara till en pcap (om du vill använda wireshark för att se senare):

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å här sparar du till en textfil:

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

Du kan också använda BPF-filter med tcpdump (och wireshark pre cap-filter). De är mer komplexa, men mindre belastande för ditt system om du fångar mycket trafik.

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

OBS:
*Detta letar efter 03 (liknande mysql.command==3) inom TCP-nyttolasten.
**Eftersom detta är ett ganska löst filter lade jag också till 3306 för att begränsa till endast trafik avsedd för den porten.***Filtret baseras på din skärmdump. Jag kan inte validera det just nu så låt mig veta om det inte fungerar.

Exempelutgång:



  1. Utmaningslösningar för nummerseriegenerator – del 4

  2. Fylla i en datatabell i C# med MySQL

  3. Ska jag indexera ett bitfält i SQL Server?

  4. Bearbeta utf-8-data från MySQL i C++ och ge resultatet tillbaka