MySQL lekérdezések nyomon követése mysqlsniffer-en az Ubuntuban

MySQL lekérdezések nyomon követése mysqlsniffer-en az Ubuntuban
MySQL lekérdezések nyomon követése mysqlsniffer-en az Ubuntuban

Videó: MySQL lekérdezések nyomon követése mysqlsniffer-en az Ubuntuban

Videó: MySQL lekérdezések nyomon követése mysqlsniffer-en az Ubuntuban
Videó: ActiveGraf V2.1 WEBINAR: Everything you need to know to build interactive scenario analysis - YouTube 2024, Április
Anonim

Ön rendelkezik termelési adatbázis-kiszolgálóval, és nem engedélyezheti a lekérdezés naplózását … így hogyan láthatja, hogy a lekérdezések végrehajtása az adatbázisban történik?

A válasz: használj egy módosított hálózati szkennert a MySQL csomagok kimutatására és dekódolására. Csinálni fogsz egy kicsit, de megéri. Ne feledje, hogy ez általában nem működik a helyi kapcsolatokon, bár szívesen próbálkozhat.

Először telepítenie kell a libpcap-dev-ot, amely a fejlesztői könyvtár, amely lehetővé teszi egy alkalmazás számára, hogy szippantja a hálózati csomagokat.

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 van egy fényes új végrehajtható nevű mysqlsniffer a forrás könyvtárunkban. Lehetőséged van arra, hogy bárhová is másolható (valahol az út hasznos lehet)

A mysqlsniffer futtatásához meg kell adnia azt a hálózati felületet, amelyet a MySQL hallgat. Számomra ez eth0.

sudo /path/to/mysqlsniffer eth0

Rengeteg dolog kezd el repülni … kicsit kiszűrjük egy kicsit, így csak a lekérdezéseket és nem az összes felesleges adatot kapjuk.

$ 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, most itt vagyunk … mindenféle lekérdezési információ, anélkül, hogy újraindítanunk kellett a MySQL-t.

A parancs teljes választékai:

Használat: mysqlsniffer [OPTIONS] INTERFACE

OPCIÓK: -Port N Hallgassa a MySQL-t az N portszámon (alapértelmezett 3306) -Verbose Több csomag információ megjelenítése -Tcp-ctrl Mutassa a TCP vezérlő csomagokat (SYN, FIN, RST, ACK) -Net-hdrs A legfontosabb IP és TCP fejléc értékek megjelenítése -No-mysql-hdrs Ne mutasd a MySQL fejlécet (csomagazonosító és hosszúság) Állomás állapota -V40 MySQL szerver a 4.0 verzió -Dump Dump minden csomagot hex -Help Nyomtassa ki ezt

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

Ha fejlesztői kiszolgálón fut, egyszerűbb lenne bekapcsolni a lekérdezés naplózását.

Ajánlott: