28Jun

Praćenje MySQL upita s mysql sniffer na Ubuntu

Imate poslužitelj za proizvodnu bazu podataka, a ne možete omogućiti prijavljivanje upita. .. pa kako vidite upite koji se izvršavaju protiv baze podataka?

Odgovor: Koristite izmijenjeni njuškanje mreže kako biste analizirali MySQL pakete i dekodirali ih. Morat ćete malo napisati, ali to će biti vrijedno toga. Imajte na umu da to obično ne funkcionira za lokalne veze, iako vam je dobrodošlo.

Prvo morate instalirati libpcap-dev, što je razvojna knjižnica koja aplikaciji omogućuje njuškanje mrežnih paketa.

sudo apt-get instaliraj libpcap-dev

Sada napravimo direktorij, preuzmemo izvorni kod i sastavimo ga

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

U ovom trenutku imamo sjajnu novu izvršnu datoteku pod nazivom mysqlsniffer u našem izvornom direktoriju. Možete ga kopirati gdje god želite( negdje na putu bi bilo korisno)

Da biste pokrenuli mysqlsniffer, morate odrediti mrežno sučelje koje MySQL sluša. Za mene je eth0.

sudo /path/to/ mysqlsniffer eth0

Puno stvari počinje letjeti. .. neka je filtrira malo više tako da možemo samo dobiti upite, a ne sve višak podataka.

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

192.168.73.1.2622poslužitelj: COM_QUERY: SELECT @@ sql_mode
192.168.73.1.2622poslužitelj: COM_QUERY: SET SESSION sql_mode = "
192.168.73.1.2622poslužitelj: COM_QUERY: SET NAMES utf8
192.168.73.1.1636poslužitelj: COM_QUERY: SELECT @@ SQL_MODE
192.168.73.1.1636poslužitelj: COM_QUERY: POKAŽAJTE PUNI KOLONI OD `db2842_howto`.`wp_users`

Ah, sada smo. .. sve vrste informacija o upitima, bez potrebe za ponovnim pokretanjem MySQL-a.

Uporaba: mysqlsniffer [OPTIONS] INTERFACE

OPCIJE:
-port N Slušajte MySQL na portu broj N( zadani 3306)
-verbose Prikaži dodatne informacije o paketima
-tcp-ctrl Prikaži TCP
-no-mysql-hdrs Nemojte prikazivati ​​MySQL zaglavlje( ID paketa i duljina)
-state Prikaži stanje
-v40 MySQLposlužitelj je verzija 4.0
-dump Dump sve pakete u hex
-pomoć Ispišite ovaj izvorni izvorni kod

i više informacija na:
http: //hackmysql.com/ mysqlsniffer

Ako koristite razvojni poslužitelj, bilo bi jednostavnije samo uključivanje upitaprijavom.