Sledujte otázky MySQL s mysqlsnifferom na Ubuntu

Sledujte otázky MySQL s mysqlsnifferom na Ubuntu
Sledujte otázky MySQL s mysqlsnifferom na Ubuntu

Video: Sledujte otázky MySQL s mysqlsnifferom na Ubuntu

Video: Sledujte otázky MySQL s mysqlsnifferom na Ubuntu
Video: Tips and Tricks for Creating Access Forms Faster - YouTube 2024, Apríl
Anonim

Máte výrobný databázový server a nemôžete povoliť zapisovanie dotazov … tak, ako vidíte dopyty, ktoré sa vykonávajú proti databáze?

Odpoveď: použite upravený sieťový sniffer na analýzu paketov MySQL a ich dekódovanie. Budete musieť urobiť trochu kompilácie, ale to bude stáť za to. Upozorňujeme, že to zvyčajne nebude fungovať pri lokálnych pripojeniach, hoci ste ochotní vyskúšať.

Najprv musíte nainštalovať libpcap-dev, čo je vývojová knižnica, ktorá umožňuje aplikácii očisťovať sieťové pakety.

sudo apt-get install libpcap-dev

Teraz urobme adresár, prevezme si zdrojový kód a zostavíme ho

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

V tomto momente máme v našom zdrojovom adresári nový lesklý spustiteľný súbor mysqlsniffer. Môžete to skopírovať kdekoľvek sa vám páči (niekde v ceste by bolo užitočné)

Ak chcete spustiť program mysqlsniffer, musíte špecifikovať sieťové rozhranie, na ktoré program MySQL počúva. Pre mňa je to všetko.

sudo /path/to/mysqlsniffer eth0

Veľa vecí začne lietať … poďme to trochu viac odfiltrovať, aby sme mohli dostať len otázky a nie všetky prebytočné dáta.

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

192.168.73.1.2622 > server: COM_QUERY: SELECT @@sql_mode 192.168.73.1.2622 > server: COM_QUERY: SET SESSION sql_mode=” 192.168.73.1.2622 > 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: SHOW FULL COLUMNS FROM `db2842_howto`.`wp_users`

Ah, teraz sme … všetky druhy informácií, bez nutnosti reštartovať MySQL.

Tu sú plné možnosti príkazu:

Použitie: mysqlsniffer [OPTIONS] INTERFACE

MOŽNOSTI: -Port N Počúvajte pre MySQL na porte číslo N (predvolené 3306) -Verbose Zobraziť ďalšie informácie o paketoch -Tcp-ctrl Zobraziť riadiace pakety TCP (SYN, FIN, RST, ACK) -Net-hdrs Zobraziť hlavné hodnoty hlavičky IP a TCP -No-mysql-hdrs Nezobrazovať hlavičku MySQL (ID a dĺžka paketu) Stav Zobrazenie stavu -V40 MySQL server je verzia 4.0 -Dump Odbaliť všetky pakety v šestnástku -Help Vytlačiť

Pôvodný zdrojový kód a ďalšie informácie na adrese: https://hackmysql.com/mysqlsniffer

Ak používate vývojový server, bolo by jednoduchšie jednoducho zapnúť zaznamenávanie dotazov.

Odporúča: