Homepage » hogyan kell » A MySQL lekérdezések követése a mysqlsniffer segítségével az Ubuntu-on

    A MySQL lekérdezések követése a mysqlsniffer segítségével az Ubuntu-on

    Van egy termelési adatbázis-kiszolgálója, és nem tudja engedélyezni a lekérdezési naplózást… így látja, hogy az adatbázishoz végrehajtott lekérdezések milyenek??

    A válasz: használjon módosított hálózatot a MySQL csomagok elemzésére és dekódolására. Kicsit fordítanod kell, de megéri. Ne feledje, hogy ez általában nem a helyi kapcsolatoknál működik, bár szívesen próbálkozhat.

    Először telepítenie kell a libpcap-dev-et, amely a fejlesztőkönyvtár, amely lehetővé teszi az alkalmazásnak a hálózati csomagok szippantását.

    sudo apt-get install libpcap-dev

    Most készítsünk egy könyvtárat, töltsük le a forráskódot, és fordítsuk le

    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

    Ezen a ponton a forráskönyvtárunkban van egy mysqlsniffer nevű fényes, új végrehajtható fájl. Bármikor tetszés szerint másolhatja (hasznos lehet valahol az útvonalon)

    A mysqlsniffer futtatásához meg kell adnia a MySQL által hallgatott hálózati csatolót. Számomra ez az eth0.

    sudo / path / to / mysqlsniffer eth0

    A cuccok elkezdenek repülni… szűrjük ki egy kicsit, hogy csak megkapjuk a lekérdezéseket, és nem az összes többletadatot.

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

    192.168.73.1.2622> szerver: COM_QUERY: SELECT @@ sql_mode
    192.168.73.1.2622> szerver: COM_QUERY: SET SESSION sql_mode = ”
    192.168.73.1.2622> szerver: COM_QUERY: SET NAMES utf8
    192.168.73.1.1636> szerver: COM_QUERY: SELECT @@ SQL_MODE
    192.168.73.1.1636> szerver: COM_QUERY: FULL COLUMNS 'db2842_howto' megjelenítéséhez. 'Wp_users'

    Ah, most ott van mindenféle lekérdezési információ, anélkül, hogy újra kellene indítanunk a MySQL-t.

    Íme a parancs teljes opciói:

    Használat: mysqlsniffer [OPCIÓK] INTERFACE

    OPCIÓK:
    -N port (MySQL) hallgatása az N porton (alapértelmezett 3306)
    -verbose Extra csomaginformációk megjelenítése
    -tcp-ctrl A TCP vezérlőcsomagok megjelenítése (SYN, FIN, RST, ACK)
    -net-hdrs Főbb IP és TCP fejléc értékek megjelenítése
    -no-mysql-hdrs Ne mutasson MySQL fejlécet (csomagazonosító és hossz)
    -állapot Megjelenítés állapota
    -v40 A MySQL szerver 4.0-s verzió
    -dump Dump minden csomag hexán
    -help Nyomtatás

    Eredeti forráskód és további információk:
    http://hackmysql.com/mysqlsniffer

    Ha fejlesztői kiszolgálón fut, könnyebb lenne a lekérdezési naplózást bekapcsolni.