28Jun

מעקב אחר שאילתות MySQL עם Mysqlsniffer על אובונטו

יש לך שרת מסד נתונים של ההפקה, ולא ניתן להפעיל רישום שאילתות. .. אז איך אתה רואה את השאילתות מבוצעות כנגד מסד הנתונים?

התשובה: להשתמש במריח הרשת שונה כדי לנתח את מנות MySQL ולפענח אותם.אתה צריך לעשות קצת קומפילציה, אבל זה יהיה שווה את זה.שים לב שבדרך כלל זה לא עובד עבור חיבורים מקומיים, למרות שאתה מוזמן לנסות.

ראשית, אתה צריך להתקין libpcap-dev, המהווה את ספריית הפיתוח המאפשר יישום לרחרח מנות הרשת.

sudo apt-get עבור libpcap-dev

עכשיו בואו נעשה ספרייה, להוריד את קוד המקור ולעבד אותו

mddir mysqlsniffer

cd mysqlsniffer

wget hackmysql.com /code/ mysqlsniffer.tgz

זפת 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 & gt;שרת: COM_QUERY: בחר @@ 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;שרת: COM_QUERY: הצג מלא COLOMNS מ `db2842_howto`.`` ww_users `

אה, עכשיו יש לנו. .. כל מיני מידע שאילתה, מבלי להפעיל מחדש את MySQL.

[אפשרויות] INTERSACE

אפשרויות:
-port N להקשיב ל- MySQL על יציאה מספר N( ברירת מחדל 3306)
-verbose הצג מידע נוסף על מנות
-tcp-ctrl הצג TCP(SSN, FIN, RST, ACK)
-net-hdrs הצגת ערכי IP ו- TCP ראשיים
-no-mysql-hdrs אל תציג את כותרת MySQL( מזהה מנות ואורך)
-state הצג מצב
-v40 MySQLשרת הוא גירסה 4.0
-dump לזרוק את כל מנות ב hex
-help הדפס קוד המקור

המקורי ומידע נוסף בכתובת:
http: //hackmysql.com/ mysqlsniffer

אם אתה מפעיל על שרת הפיתוח, זה יהיה קל יותר פשוט להפעיל את השאילתהרישום.