Imate strežnik zbirke podatkov o proizvodnji in ne morete omogočiti beleženja poizvedb ... torej, kako vidite poizvedbe, ki se izvajajo proti bazi podatkov?

Odgovor: uporabite modificiran mrežni sniffer za razčlenjevanje paketov MySQL in njihovo dekodiranje. Boste morali narediti malo zbiranje, vendar bo vredno. Upoštevajte, da to običajno ne bo delovalo za lokalne povezave, čeprav ste dobrodošli, da poskusite.

Najprej morate namestiti libpcap-dev, ki je razvojna knjižnica, ki aplikaciji dovoljuje nihanje omrežnih paketov.

sudo apt-get install libpcap-dev

Zdaj pa naredimo imenik, prenesite izvorno kodo in jo sestavite

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

Na tej točki imamo v našem izvornem imeniku novo novo izvedljivo ime mysqlsniffer. Lahko ga kopirate kjerkoli želite (nekje na poti bi bilo koristno)

Če želite zagnati mysqlsniffer, morate navesti omrežni vmesnik, ki ga MySQL posluša. Zame je et0.

sudo /path/to/mysqlsniffer eth0

Obremenitve stvari se začnejo leteti ... ga še malo filtriramo, da bomo lahko dobili poizvedbe in ne vse presežne podatke.

$ sudo /path/to/mysqlsniffer –no-mysql-hdrs eth0 | grep COM_QUERY

192.168.73.1.2622 > server: COM_QUERY: SELECT @@sql_mode192.168.73.1.2622 > server: COM_QUERY: SET SESSION sql_mode=”192.168.73.1.2622 > server: COM_QUERY: SET NAMES utf8192.168.73.1.1636 > server: COM_QUERY: SELECT @@SQL_MODE192.168.73.1.1636 > server: COM_QUERY: SHOW FULL COLUMNS FROM `db2842_howto`.`wp_users`

Ah, zdaj smo ... vse vrste informacij o poizvedbi, ne da bi morali znova zagnati MySQL.

Tukaj so polne možnosti za ukaz:

Uporaba: mysqlsniffer [OPTIONS] INTERFACE

OPCIJE:-Port N Poslušajte za MySQL na številki vrat N (privzeto 3306)-Veri Pokaži dodatne informacije o paketnem sporočilu-Tcp-ctrl Prikaži kontrolne pakete TCP (SYN, FIN, RST, ACK)-Net-hdrs Prikaži glavne vrednosti IP in TCP glave-No-mysql-hdrs Ne prikaži glave MySQL (ID paketa in dolžine)-Strani Prikaži stanje-V40 MySQL strežnik je različica 4.0-Dump Dump vse pakete v hex-Help Natisni to

Izvorna koda in več informacij na:http://hackmysql.com/mysqlsniffer

Če uporabljate razvojni strežnik, bi bilo lažje vklopiti samo prijavo poizvedbe.

Top Nasveti:
Komentarji: