Track MySQL vaicājumi ar mysqlsniffer uz Ubuntu
Jums ir ražošanas datu bāzes serveris, un jūs nevarat iespējot vaicājumu reģistrēšanu ... tā kā jūs redzat vaicājumus, kas tiek veikti pret datu bāzi?
Atbilde: izmantojiet modificētu tīklu, lai izanalizētu MySQL paketes un dekodētu tos. Jums būs jārīkojas nedaudz, bet tas būs tā vērts. Ņemiet vērā, ka tas parasti nedarbosies vietējiem savienojumiem, lai gan jūs esat laipni aicināti izmēģināt.
Pirmkārt, jums ir jāinstalē libpcap-dev, kas ir attīstības bibliotēka, kas ļauj lietojumprogrammai saspiest tīkla paketes.
sudo apt-get instalēt libpcap-dev
Tagad izveidosim direktoriju, lejupielādēsim avota kodu un apkoposim to
mkdir mysqlsniffer
cd mysqlsniffer
wget hackmysql.com/code/mysqlsniffer.tgz
tar xvfz mysqlsniffer.tgz
gcc -O2 -lpcap -o mysqlsniffer mysqlsniffer.c packet_handlers.c misc.c
Šajā brīdī mūsu avota direktorijā mums ir mirdzošs jauns izpildāms nosaukums mysqlsniffer. To var kopēt, kur vien vēlaties (kaut kur ceļā būtu noderīga)
Lai palaistu mysqlsniffer, jānorāda tīkla interfeiss, kurā MySQL klausās. Man tas ir eth0.
sudo / path / to / mysqlsniffer eth0
Slodzes ar sīkumiem sāk lidot ar ... ļaujiet filtrēt to nedaudz vairāk, lai mēs varētu saņemt tikai vaicājumus, nevis visus pārmērīgos datus.
$ sudo / path / to / mysqlsniffer -no-mysql-hdrs eth0 | grep COM_QUERY
192.168.73.1.2622> serveris: COM_QUERY: SELECT @@ sql_mode
192.168.73.1.2622> serveris: COM_QUERY: SET SESSION sql_mode = ”
192.168.73.1.2622> serveris: COM_QUERY: SET NAMES utf8
192.168.73.1.1636> serveris: COM_QUERY: SELECT @@ SQL_MODE
192.168.73.1.1636> serveris: COM_QUERY: SHOW FULL COLUMNS NO 'db2842_howto'. 'Wp_users'
Ah, tagad mēs esam ... visa veida vaicājuma informācija, bez nepieciešamības restartēt MySQL.
Šeit ir visas komandas opcijas:
Lietošana: mysqlsniffer [OPTIONS] INTERFACE
OPTIONS:
-ports N Klausieties MySQL portā N (noklusējums 3306)
-verbose Rādīt papildu pakešinformāciju
-tcp-ctrl Rādīt TCP kontroles paketes (SYN, FIN, RST, ACK)
-net-hdrs Rādīt galvenās IP un TCP galvenes vērtības
-no-mysql-hdrs Nerādīt MySQL galveni (pakešu ID un garums)
-stāvoklis Rādīt stāvokli
-v40 MySQL serveris ir 4.0 versija
-dump Dump visas paketes hex
-help Drukāt šo
Oriģinālais pirmkods un plašāka informācija:
http://hackmysql.com/mysqlsniffer
Ja jūs strādājat ar attīstības serveri, būtu vieglāk vienkārši ieslēgt vaicājumu reģistrēšanu.