Παρακολουθήστε τις ερωτήσεις MySQL με το mysqlsniffer στο Ubuntu

Βίντεο: Παρακολουθήστε τις ερωτήσεις MySQL με το mysqlsniffer στο Ubuntu

Βίντεο: Παρακολουθήστε τις ερωτήσεις MySQL με το mysqlsniffer στο Ubuntu
Βίντεο: MEGA Chia GPU Farming and Plotting Guide for Linux - Gigahorse Start to Finish - 2023 2024, Μάρτιος
Παρακολουθήστε τις ερωτήσεις MySQL με το mysqlsniffer στο Ubuntu
Παρακολουθήστε τις ερωτήσεις MySQL με το mysqlsniffer στο Ubuntu
Anonim

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

Η απάντηση: χρησιμοποιήστε ένα τροποποιημένο δίκτυο sniffer για να αναλύσετε τα πακέτα MySQL και να τα αποκωδικοποιήσετε. Θα χρειαστεί να κάνετε κάποια σύνταξη, αλλά αξίζει τον κόπο. Σημειώστε ότι αυτό συνήθως δεν θα λειτουργήσει για τοπικές συνδέσεις, αν και είστε ευπρόσδεκτοι να το δοκιμάσετε.

Πρώτον, πρέπει να εγκαταστήσετε το libpcap-dev, το οποίο είναι η βιβλιοθήκη ανάπτυξης που επιτρέπει σε μια εφαρμογή να οσφραίνομαι πακέτα δικτύου.

sudo apt-get install 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 στον κατάλογο πηγής μας. Μπορείτε να το αντιγράψετε οπουδήποτε θέλετε (κάπου στο δρόμο θα ήταν χρήσιμο)

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

sudo /path/to/mysqlsniffer eth0

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

$ 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`

Αχ, τώρα είμαστε … όλα τα είδη των πληροφοριών ερωτήματος, χωρίς να χρειάζεται να επανεκκινήσετε 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 (αναγνωριστικό πακέτου και μήκος) -State Εμφάνιση κατάσταση -V40 MySQL server είναι έκδοση 4.0 -Dump Αποσπάστε όλα τα πακέτα σε hex -Help Εκτυπώστε αυτό

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

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

Συνιστάται: