If-Koubou

Следете MySQL запитвания с mysqlsniffer на Ubuntu

Следете MySQL запитвания с mysqlsniffer на Ubuntu (Как да)

Имате сървър за създаване на база данни и не можете да активирате регистрирането на заявки ... така как виждате заявките, които се изпълняват спрямо базата данни?

Отговорът: използвайте модифициран мрежов фишинг, за да анализирате MySQL пакетите и да ги декодирате. Ще трябва да направите малко компилация, но си струва. Имайте предвид, че това обикновено няма да работи за локални връзки, въпреки че сте добре дошли да опитате.

Първо, трябва да инсталирате libpcap-dev, която е библиотеката за разработка, която позволява на приложението да подуши мрежовите пакети.

sudo apt-get инсталирате libpcap-dev

Сега да направим директория, да изтеглим изходния код и да го компилираме

mkdir mysqlsniffer

cd mysqlsniffer

wget hackmysql.com/code/mysqlsniffer.tgz

tar xvfz mysqlsniffer.tgz

gcc -O2 -lpcap -о mysqlsniffer mysqlsniffer.c пакет_хандалер.c misc.c

В този момент имаме лъскав нов изпълним файл, наречен mysqlsniffer в нашата директория с изход. Можете да го копирате където пожелаете (някъде в пътя ще бъде полезно)

За да стартирате mysqlsniffer, трябва да посочите мрежовия интерфейс, който MySQL слуша. За мен това е eth0.

sudo / път / към / mysqlsniffer eth0

Зареждането на неща започва да лети с ... нека да го филтрираме малко повече, за да можем да получим само заявките, а не всички излишни данни.

$ sudo / път / към / mysqlsniffer -no-mysql-hdrs eth0 | grep COM_QUERY

192.168.73.1.2622> сървър: COM_QUERY: SELECT @@ sql_mode
192.168.73.1.2622> сървър: COM_QUERY: SET SESSION sql_mode = "
192.168.73.1.2622> сървър: COM_QUERY: SET NAMES utf8
192.168.73.1.1636> сървър: COM_QUERY: SELECT @@ SQL_MODE
192.168.73.1.1636> сървър: COM_QUERY: ПОКАЖЕТЕ ПЪЛНИ КОЛОНИ ОТ 'db2842_howto'. 'Wp_users'

А сега имаме ... всякакъв вид информация, без да се налага да рестартираме MySQL.

Ето пълните опции за командата:

Употреба: mysqlsniffer [OPTIONS] INTERFACE

НАСТРОИКИ:
-порт N Изслушайте за MySQL на номер на порт N (по подразбиране 3306)
-verbose Показване на допълнителна информация за пакета
-tcp-ctrl Показване на TCP контролни пакети (SYN, FIN, RST, ACK)
-net-hdrs Показване на основните IP и TCP заглавки
-no-mysql-hdrs Не показвайте заглавието на MySQL (идентификация на пакета и дължина)
състояние на държавата
-v40 MySQL сървърът е версия 4.0
-dump Изпълнете всички пакети в шестнадесетичен
-Помощ Печат на това

Оригинален изходен код и повече информация на адрес:
http://hackmysql.com/mysqlsniffer

Ако работите на сървър за разработка, би било по-лесно просто да включите регистрацията на заявки.