28Jun
Aveți un server de bază de date de producție și nu puteți activa înregistrarea interogărilor. .. așa cum vedeți interogările care sunt executate împotriva bazei de date?
Răspunsul: utilizați un sniffer de rețea modificat pentru a analiza pachetele MySQL și pentru a le decoda. Va trebui să faci puțin compilare, dar merită.Rețineți că, de obicei, acest lucru nu va funcționa pentru conexiunile locale, deși sunteți bineveniți să încercați.
În primul rând, trebuie să instalați libpcap-dev, care este biblioteca de dezvoltare care permite unei aplicații să înșele pachetele de rețea.
sudo apt-get instalați libpcap-dev
Acum, să facem un director, să descărcăm codul sursă și să îl compilați
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
În acest moment, avem un executabil strălucitor numit mysqlsniffer în directorul nostru sursă.Puteți să o copiați oriunde doriți( undeva în cale ar fi util)
Pentru a rula mysqlsniffer, trebuie să specificați interfața de rețea pe care MySQL o asculta. Pentru mine e eth0.
sudo /path/to/ mysqlsniffer eth0
Încărcăturile de lucruri încep să zboare cu. .. să o filtram mai mult, astfel încât să putem obține doar interogările și nu toate datele în exces.
$ sudo /path/to/ mysqlsniffer -no-mysql-hdrs eth0 |grep COM_QUERY
192.168.73.1.2622 & gt;server: COM_QUERY: SELECT @@ sql_mode
192.168.73.1.2622 & gt;server: COM_QUERY: SET SESSION sql_mode = "
192.168.73.1.2622 & gt;server: COM_QUERY: SET NAMES utf8
192.168.73.1.1636>server: COM_QUERY: SELECT @@ SQL_MODE
192.168.73.1.1636>server: COM_QUERY: arata complet coloanele din `db2842_howto`.`wp_users`
Ah, acum suntem. .. tot felul de informații de interogare, fără a fi nevoie să reporniți MySQL.
Iată opțiunile complete pentru comanda:
Utilizare: mysqlsniffer [OPȚIUNI] INTERFATA
OPȚIUNI:
-port N Ascultați pentru MySQL pe numărul portului N( implicit 3306)
-verbose Afișați informații suplimentare despre pachete
-tcp-ctrl Afișați TCPpachete de control( SYN, FIN, RST, ACK)
-net-hdrs Afișați valorile majore IP și TCP header
-no-mysql-hdrs Nu afișați antetul MySQL( ID și lungimea pachetului)
-state Afișați starea
-v40 MySQLserver este versiunea 4.0
-dump Dump toate pachetele în hex
-help Imprimați acest cod sursă
și mai multe informații la:
http: //hackmysql.com/ mysqlsniffer
Dacă rulați pe un server de dezvoltare, ar fi mai ușor să activați interogarealogare.