דף הבית » איך ל » מעקב אחר שאילתות MySQL עם mysqlsniffer על אובונטו

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

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

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

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

    sudo apt- לקבל להתקין libpcap-dev

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

    mkdir mysqlsniffer

    cd mysqlsniffer

    wcode hackmysql.com/code/mysqlsniffer.tgz

    xvfz

    GCC -O2 -lpcap-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> שרת: COM_QUERY: בחר @@ sql_mode
    192.168.73.1.2622> שרת: COM_QUERY: SET SESSION sql_mode = "
    שרת: COM_QUERY: הגדרת שמות utf8
    > שרת: COM_QUERY: בחר @ @ SQL_MODE
    192.168.73.1.1636> שרת: COM_QUERY: הצג COLUMNS מלא 'db2842_howto'. 'Wp_users'

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

    להלן האפשרויות המלאות עבור הפקודה:

    שימוש: mysqlsniffer [אופציות] ממשק

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

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

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