Jejaki Pertanyaan MySQL dengan mysqlsniffer di Ubuntu

Video: Jejaki Pertanyaan MySQL dengan mysqlsniffer di Ubuntu

Video: Jejaki Pertanyaan MySQL dengan mysqlsniffer di Ubuntu
Video: rumus dan cara memindahkan atau mengambil data sesuai dengan kriteria 2024, Mac
Jejaki Pertanyaan MySQL dengan mysqlsniffer di Ubuntu
Jejaki Pertanyaan MySQL dengan mysqlsniffer di Ubuntu
Anonim

Anda mempunyai pelayan pangkalan data pengeluaran, dan anda tidak boleh mengaktifkan pembalakan pertanyaan … jadi bagaimana anda melihat pertanyaan yang dijalankan terhadap pangkalan data?

Jawapannya: menggunakan penyusupan rangkaian yang diubah suai untuk menghuraikan paket MySQL dan menyahkodnya. Anda perlu melakukan sedikit penyusun, tetapi ia akan berbaloi. Perhatikan bahawa ini biasanya tidak akan berfungsi untuk sambungan tempatan, walaupun anda dialu-alukan untuk mencuba.

Pertama, anda perlu memasang libpcap-dev, iaitu perpustakaan pembangunan yang membolehkan aplikasi menghidu paket rangkaian.

sudo apt-get install libpcap-dev

Sekarang mari kita buat direktori, muat turun kod sumber dan kumpulkannya

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

Pada ketika ini, kami mempunyai executable baru yang berkilat bernama mysqlsniffer dalam direktori sumber kami. Anda boleh menyalinnya di mana sahaja yang anda suka (di suatu tempat di jalan itu berguna)

Untuk menjalankan mysqlsniffer, anda perlu menentukan antara muka rangkaian yang didengar oleh MySQL. Bagi saya, ini adalah et0.

sudo /path/to/mysqlsniffer eth0

Banyak perkara yang mula terbang dengan … mari kita menyaringnya sedikit lebih sehingga kita hanya boleh mendapatkan pertanyaan dan tidak semua data berlebihan.

$ 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, sekarang kita ada … semua maklumat pertanyaan, tanpa perlu memulakan MySQL.

Berikut adalah pilihan penuh untuk arahan:

Penggunaan: mysqlsniffer [OPTIONS] INTERFACE

PILIHAN: -Port N Dengarkan MySQL pada nombor port N (lalai 3306) -Verbose Tunjukkan maklumat paket tambahan -Tcp-ctrl Tunjukkan paket kawalan TCP (SYN, FIN, RST, ACK) -Net-hdrs Tunjukkan nilai utama IP dan TCP header -No-mysql-hdrs Jangan tunjukkan pengepala MySQL (ID paket dan panjang) -State Show state -V40 MySQL server adalah versi 4.0 -Dump Dump semua paket dalam hex -Tulungkan ini

Kod sumber asal dan maklumat lanjut di: https://hackmysql.com/mysqlsniffer

Sekiranya anda menjalankan pelayan pembangunan, lebih mudah hanya menghidupkan pembalakan pertanyaan.

Disyorkan: