Koduleht » kuidas » Jälgi MySQL päringuid koos mysqlsnifferiga Ubuntu'is

    Jälgi MySQL päringuid koos mysqlsnifferiga Ubuntu'is

    Sul on tootmisandmebaasiserver ja te ei saa lubada päringu logimist ... nii et kuidas näete andmebaasi vastuseid??

    Vastus: kasutage modifitseeritud võrku, et analüüsida MySQL-pakette ja dekodeerida neid. Sa pead tegema vähe kompileerimist, kuid see on seda väärt. Pange tähele, et see ei tööta tavaliselt kohalike ühenduste puhul, kuigi te olete oodatud proovima.

    Esiteks peate installima libpcap-dev, mis on arendusraamatukogu, mis võimaldab rakendustel võrgupakette haarata.

    sudo apt-get install libpcap-dev

    Nüüd teeme kataloogi, laadime alla lähtekoodi ja koostame selle

    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

    Sel hetkel on meil lähte kataloogis läikiv uus käivitatav nimega mysqlsniffer. Saate selle kopeerida kõikjal, kus soovite (kuskil teekonnal oleks kasulik)

    Mysqlsnifferi käivitamiseks peate täpsustama MySQL-i kuuluva võrguliidese. Minu jaoks on see eth0.

    sudo / path / to / mysqlsniffer eth0

    Koormused kraamast hakkavad lendama ... filtreerime selle veidi rohkem, et saaksime lihtsalt päringuid ja mitte kõiki üleliigseid andmeid.

    $ 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, nüüd me oleme ... igasugune päringuteave ilma MySQL-i taaskäivitamata.

    Siin on käsu täielik valik:

    Kasutamine: mysqlsniffer [OPTIONS] INTERFACE

    VALIKUD:
    -port N MySQL-i kuulamine pordi numbril N (vaikimisi 3306)
    -verbose Näita pakettandmeside lisateavet
    -tcp-ctrl Näita TCP kontrollpakette (SYN, FIN, RST, ACK)
    -net-hdrs Näita olulisi IP- ja TCP-päise väärtusi
    -no-mysql-hdrs Ära näita MySQL päist (pakett-ID ja pikkus)
    -olek Näita olekut
    -v40 MySQL server on versioon 4.0
    -dump Dump kõik paketid hex
    -Abi Prindi

    Originaal lähtekood ja lisateave:
    http://hackmysql.com/mysqlsniffer

    Kui töötate arendusserveris, oleks lihtsam lihtsalt sisse lülitada päringu logimine.