28Jun
Imate strežnik baze podatkov s proizvodnjo 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 omogoča aplikaciji nihanje omrežnih paketov.
sudo apt-get namestite 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 določiti omrežni vmesnik, na katerem 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 samo poizvedbe in ne vse presežne podatke.
$ sudo /path/to/ mysqlsniffer -no-mysql-hdrs eth0 |grep COM_QUERY
192.168.73.1.2622 & gt;strežnik: COM_QUERY: SELECT @@ sql_mode
192.168.73.1.2622 & gt;strežnik: COM_QUERY: SET SESSION sql_mode = "
192.168.73.1.2622 & gt;strežnik: COM_QUERY: SET NAMES utf8
192.168.73.1.1636 & gt;strežnik: COM_QUERY: SELECT @@ SQL_MODE
192.168.73.1.1636 & gt;strežnik: COM_QUERY: PRIKAZITE FULLSKE KOLUMIJE IZ `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)
-verbose Prikaži dodatne informacije o paketu
-tcp-ctrl Pokaži TCPkontrolni paketi( SYN, FIN, RST, ACK)
-net-hdrs Prikaži glavne vrednosti IP in TCP glave
-no-mysql-hdrs Ne prikazujte glave MySQL( ID paketa in dolžine)
-stanje Prikaži stanje
-v40 MySQLstrežnik je različica 4.0
-dump Dump vse pakete v hex
-help Natisni ta
Izvorna izvorna koda in več informacij na:
http: //hackmysql.com/ mysqlsniffer
Če uporabljate razvojni strežnik, bi bilo lažje vklopiti samo poizvedbobeleženje.