28Jun

Παρακολουθήστε τα ερωτήματα MySQL με το mysql sniffer στο Ubuntu

click fraud protection

Έχετε έναν διακομιστή βάσης δεδομένων παραγωγής και δεν μπορείτε να ενεργοποιήσετε την καταγραφή ερωτημάτων. .. έτσι πώς βλέπετε τα ερωτήματα που εκτελούνται έναντι της βάσης δεδομένων;

Η απάντηση: χρησιμοποιήστε ένα τροποποιημένο sniffer δικτύου για να αναλύσετε τα πακέτα 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-o mysqlsniffer mysqlsniffer.c packet_handlers.c misc.c

Σε αυτό το σημείο, έχουμε ένα λαμπερό νέο εκτελέσιμο όνομα που ονομάζεται mysqlsniffer στον κατάλογο πηγής μας.Μπορείτε να το αντιγράψετε οπουδήποτε θέλετε( κάπου στη διαδρομή θα ήταν χρήσιμο)

instagram viewer

Για να εκτελέσετε το mysqlsniffer, πρέπει να καθορίσετε τη διεπαφή δικτύου που ακούει η MySQL.Για μένα, είναι eth0.

sudo /path/to/ mysqlsniffer eth0

Τα φορτία των πραγμάτων αρχίζουν να πετούν από. .. ας το φιλτράρουμε λίγο περισσότερο ώστε να μπορούμε απλά να πάρουμε τα ερωτήματα και όχι όλα τα επιπλέον δεδομένα.

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

192.168.73.1.2622 & gt;διακομιστής: COM_QUERY: SELECT @@ sql_mode
192.168.73.1.2622 & gt;διακομιστής: COM_QUERY: SET SESSION sql_mode = "
192.168.73.1.2622 & gt;διακομιστής: COM_QUERY: SET NAMES utf8
192.168.73.1.1636 & gt;διακομιστής: COM_QUERY: SELECT @@ SQL_MODE
192.168.73.1.1636 & gt;server: COM_QUERY: ΔΕΙΞΤΕ ΠΛΗΡΕΣ ΣΤΗΛΗ από `db2842_howto`.`wp_users`

Αχ, τώρα είμαστε. .. όλα τα είδη πληροφοριών πληροφοριών, χωρίς να χρειάζεται να ξανακάνουμε την MySQL.

Εδώ είναι οι πλήρεις επιλογές για την εντολή:

Χρήση: mysqlsniffer [OPTIONS] INTERFACE

ΕΠΙΛΟΓΕΣ:
-port N Ακούστε για MySQL στον αριθμό θύρας N( προεπιλογή 3306)
-verbose Εμφάνιση πρόσθετων πληροφοριών πακέτων
-tcp-ctrl Εμφάνιση TCPπακέτα ελέγχου( SYN, FIN, RST, ACK)
-net-hdrs Εμφάνιση σημαντικών τιμών κεφαλίδας IP και TCP
-no-mysql-hdrs Εμφάνιση κεφαλίδας MySQL( ID πακέτου και μήκους)
-state Εμφάνιση κατάστασης
-v40 MySQLserver είναι έκδοση 4.0
-dump Dump όλα τα πακέτα σε hex
-help Εκτυπώστε αυτό το

Αρχικό κώδικα πηγής και περισσότερες πληροφορίες στη διεύθυνση:
http: //hackmysql.com/ mysqlsniffer

Εάν εκτελείτε σε ένα διακομιστή ανάπτυξης, θα ήταν ευκολότερο απλά να ενεργοποιήσετε το ερώτημαξύλευση.