28Jun

Lacak MySQL Queries dengan mysql sniffer di Ubuntu

click fraud protection

Anda punya database server produksi, dan Anda tidak dapat mengaktifkan query logging. .. jadi bagaimana Anda melihat query dieksekusi terhadap database?

Jawabannya: gunakan sniffer jaringan yang dimodifikasi untuk menguraikan paket MySQL dan memecahkan kode mereka. Anda harus melakukan sedikit kompilasi, tapi itu akan sia-sia. Perhatikan bahwa ini biasanya tidak bekerja untuk koneksi lokal, walaupun Anda dipersilakan untuk mencoba.

Pertama, Anda perlu menginstal libpcap-dev, yang merupakan perpustakaan pengembangan yang memungkinkan aplikasi mengendus paket jaringan.

sudo apt-get install libpcap-dev

Sekarang mari kita membuat sebuah direktori, download kode sumber dan kompilasi itu

mkdir mysqlsniffer

cd mysqlsniffer

wget hackmysql.com /code/ mysqlsniffer.tgz

tar xvfz mysqlsniffer.tgz

gcc -O2 -lpcap-o mysqlsniffer mysqlsniffer.c package_handlers.c misc.c

Pada titik ini, kita memiliki sebuah executable baru yang bisa diklaim bernama mysqlsniffer di direktori source kita. Anda dapat menyalinnya ke manapun Anda suka( di suatu tempat di jalan akan berguna)

instagram viewer

Untuk menjalankan mysqlsniffer, Anda perlu menentukan antarmuka jaringan yang sedang didengarkan oleh MySQL.Bagi saya, itu eth0.

sudo /path/to/ mysqlsniffer eth0

Banyak barang mulai diterbangkan. .. mari saring sedikit lagi supaya kita bisa mendapatkan kueri dan tidak semua kelebihan data.

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

192.168.73.1.2622 & gt;server: COM_QUERY: SELECT @@ sql_mode
192.168.73.1.2622 & gt;server: COM_QUERY: SET SESSION sql_mode = "
192.168.73.1.2622 & gt;server: COM_QUERY: SET NAMES utf8
192.168.73.1.1636 & gt;server: COM_QUERY: SELECT @@ SQL_MODE
192.168.73.1.1636 & gt;server: COM_QUERY: SHOW FULL COLUMNS FROM `db2842_howto`.`wp_users`

Ah, sekarang kita ada. .. segala macam informasi query, tanpa harus me-restart MySQL.

Berikut adalah pilihan lengkap untuk perintah:

Penggunaan: mysqlsniffer [OPTIONS] OPSI INTERFACE

:
-port N Dengarkan MySQL pada nomor port N( default 3306)
-verbose Tampilkan informasi paket tambahan
-tcp-ctrl Tampilkan TCPpaket kontrol( SYN, FIN, RST, ACK)
-net-hdrs Tampilkan nilai utama IP dan TCP header
-no-mysql-hdrs Jangan tampilkan header MySQL( ID dan panjang paket)
-state Tampilkan negara
-v40 MySQLserver adalah versi 4.0
-dump Dump semua paket dalam hex
-help Cetak kode sumber asli

ini dan informasi lebih lanjut di:
http: //hackmysql.com/ mysqlsniffer

Jika Anda menjalankan server pengembangan, akan lebih mudah untuk mengaktifkan permintaan saja.penebangan.