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

Come utilizzare Wireshark per acquisire chiaramente la query MySQL

Puoi usare tshark e salvare in un pcap o semplicemente esportare i campi che ti interessano.

Per salvare in un pcap (se vuoi usare wireshark per vederlo in seguito):

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)

Per salvare in un file di testo:

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

Puoi anche usare filtri BPF con tcpdump (e filtri wireshark pre cap). Sono più complessi, ma meno gravosi per il tuo sistema se stai catturando molto traffico.

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

NOTA:
*Questo cerca 03 (simile a mysql.command==3) all'interno del payload TCP.
**Dato che si tratta di un filtro piuttosto ampio, ho anche aggiunto 3306 per limitare solo il traffico destinato a quella porta.***Il filtro si basa sul tuo screenshot. Non riesco a convalidarlo in questo momento, quindi fammi sapere se non funziona.

Esempio di output: