28Jun

Urmăriți interogările MySQL cu mysqlsniffer pe Ubuntu

click fraud protection

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)

instagram viewer

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.