28Jun

Ubuntu'da mysqlsniffer ile MySQL Sorgularını Takip Edin

Bir üretim veritabanı sunucunuz var ve sorgu günlüğü özelliğini etkinleştiremezsiniz. .. böylece veritabanına uygulanan sorguları nasıl görüyorsunuz?

Cevap: MySQL paketlerini ayrıştırmak ve çözmek için değiştirilmiş bir ağ sniffer kullanın. Biraz derlemeniz gerekecek, ancak buna değecektir. Denemeye razı olsanız bile, bunun yerel bağlantılar için genellikle işe yaramayacağına dikkat edin.

İlk olarak, bir uygulamanın ağ paketlerini bulmasına izin veren geliştirme kitaplığı olan libpcap-dev'yi kurmanız gerekir.

sudo apt-get install libpcap-dev

Şimdi bir dizin yapalım, kaynak kodunu indirelim ve derleyelim

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

Bu noktada, kaynak dizinde mysqlsniffer adlı parlak yeni bir çalıştırılabilir var.İstediğiniz yere kopyalayabilirsiniz( yolun herhangi bir yerinde yararlı olacaktır)

mysqlsniffer'i çalıştırmak için MySQL'in dinlediği ağ arabirimini belirtmeniz gerekir. Benim için, bu eth0.

sudo /path/to/ mysqlsniffer eth0

Bir sürü şeyler uçmaya başlar. .. biraz daha filtreleyelim, böylece tüm aşırı verileri değil sorguları alabiliriz.

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

192.168.73.1.2622 & gt;sunucu: COM_QUERY: SELECT @@ sql_mode
192.168.73.1.2622 & gt;sunucu: COM_QUERY: SET SESSION sql_mode = "
192.168.73.1.2622 & gt;sunucu: COM_QUERY: SET NAMES utf8
192.168.73.1.1636 & gt;sunucu: COM_QUERY: SELECT @@ SQL_MODE
192.168.73.1.1636 & gt;server: COM_QUERY: `db2842_howto`DEN TAM SIRALAR GÖSTER '.` wp_users`

Ah, şimdi orada. .. MySQL'i yeniden başlatmaya gerek kalmadan her türlü sorgu bilgisi.

Komut için tam seçenekler şunlardır:

Kullanımı: mysqlsniffer [SEÇENEKLER] ARABİRİM

SEÇENEKLERİ:
-port N Port numarası N'de MySQL için dinle( varsayılan 3306)
-verboş Ekstra paket bilgilerini göster
-tcp-ctrl TCP'yi gösterkontrol paketleri( SYN, FIN, RST, ACK)
-net-hdrs Büyük IP ve TCP üstbilgi değerlerini göster
-no-mysql-hdrs MySQL üst bilgisini gösterme( paket kimliği ve uzunluğu)
-state Durum göster
-v40 MySQLsunucu sürüm 4.0
-dump Tüm paketleri onaltılıkta döküm
-help Bu

'yi yazdırın
Orijinal kaynak kodu ve daha fazla bilgi için:
http: //hackmysql.com/ mysqlsniffer

Bir geliştirme sunucusunda çalışıyorsanız, sorguyu açmak daha kolay olacaktırgünlüğü.