28Jun

Sledujte MySQL dotazy s mysqlsniffer na Ubuntu

click fraud protection

Máte produkční databázový server a nemůžete povolit protokolování dotazů. .. takže jak vidíte, jak jsou dotazy prováděny proti databázi?

Odpověď: Použijte modifikovaný síťový sniffer pro analýzu paketů MySQL a jejich dekódování.Budete muset udělat trochu kompilace, ale bude to stát za to. Všimněte si, že to obvykle nebude fungovat pro místní připojení, ačkoli jste vítáni vyzkoušet.

Nejprve je třeba nainstalovat libpcap-dev, což je vývojová knihovna, která umožňuje aplikaci snížit síťové pakety.

sudo apt-get instalace libpcap-dev

Nyní uděláme adresář, stáhněte zdrojový kód a zkompilujte jej

mkdir mysqlsniffer

cd mysqlsniffer

wget hackmysql.com /code/ mysqlsniffer.tgz

tar xvfz mysqlsniffer.tgz

gcc -O2 -lpcap-o mysqlsniffer mysqlsniffer.c paket_handlers.c misc.c

V tomto okamžiku máme v našem zdrojovém adresáři nový lesklý spustitelný soubor mysqlsniffer. Můžete ho zkopírovat kdekoliv se vám líbí( někde v cestě by bylo užitečné)

Chcete-li spustit mysqlsniffer, musíte zadat síťové rozhraní, které MySQL naslouchá.Pro mě je to eth0.

instagram viewer

sudo /path/to/ mysqlsniffer eth0

Naložené věci začínají létat. .. necháme to trochu víc filtrovat, abychom mohli dostat dotazy a ne všechna přebytečná data.

$ 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 & gt;server: COM_QUERY: SELECT @@ SQL_MODE
192.168.73.1.1636 & gt;server: COM_QUERY: ZVEŘEJNĚTE PLNÉ PLOCHY z `db2842_howto`.`wp_users`

Ah, teď jsme. .. všechny druhy informací, bez nutnosti restartovat MySQL.

Zde jsou plné možnosti příkazu:

Použití: mysqlsniffer [OPTIONS] INTERFACE

MOŽNOSTI:
-port N Poslech pro MySQL na portu číslo N( výchozí 3306)
-verbose Zobrazit další paketové informace
-tcp-ctrl Zobrazit TCPkontrolní pakety( SYN, FIN, RST, ACK)
-net-hdrs Zobrazit hlavní hodnoty IP a TCP záhlaví
-no-mysql-hdrs Nezobrazovat záhlaví MySQL( ID a délka paketu)
-state Zobrazit stav
-v40 MySQLserver je verze 4.0
-dump Výpis všech paketů v hexadecimálním formátu
-help Vytiskněte tento zdrojový kód

a další informace na adrese:
http: //hackmysql.com/ mysqlsniffer

Pokud běžíte na vývojovém serveru, bylo by jednodušší zapnout dotazprotokolování.