الصفحة الرئيسية » howto » تتبع استعلامات MySQL مع mysqlsniffer على أوبونتو

    تتبع استعلامات MySQL مع mysqlsniffer على أوبونتو

    لديك خادم قاعدة بيانات الإنتاج ، ولا يمكنك تمكين تسجيل طلبات البحث ... لذلك كيف ترى الاستعلامات التي يتم تنفيذها مقابل قاعدة البيانات?

    الجواب: استخدام شبكة متطورة لتعديل حزم MySQL وفك تشفيرها. سيكون عليك القيام ببعض التجميع ، لكن الأمر يستحق ذلك. لاحظ أن هذا لن يعمل عادةً مع الاتصالات المحلية ، على الرغم من أنه يمكنك تجربته.

    أولا ، تحتاج إلى تثبيت libpcap-dev ، وهي مكتبة التطوير التي تسمح للتطبيق بشم حزم الشبكة.

    sudo apt-get install libpcap-dev

    الآن دعونا نجعل دليل ، تنزيل شفرة المصدر وتجميعها

    mkdir mysqlsniffer

    مؤتمر نزع السلاح 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 / إلى / mysqlsniffer eth0

    تبدأ الأحمال من المواد بالطيران ... دعنا نرشحها أكثر من ذلك بقليل حتى نتمكن من الحصول على الاستفسارات وليس كل البيانات الزائدة.

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

    192.168.73.1.2622> الخادم: COM_QUERY: SELECTsql_mode
    192.168.73.1.2622> الخادم: COM_QUERY: SET SESSION sql_mode = ”
    192.168.73.1.2622> الخادم: COM_QUERY: SET NAMES utf8
    192.168.73.1.1636> الخادم: COM_QUERY: SELECTSQL_MODE
    192.168.73.1.1636> الخادم: 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 (معرف الحزمة وطولها)
    -الدولة تظهر الدولة
    -خادم V40 MySQL هو الإصدار 4.0
    -تفريغ جميع الحزم في عرافة
    -مساعدة اطبع هذا

    شفرة المصدر الأصلية ومزيد من المعلومات على العنوان التالي:
    http://hackmysql.com/mysqlsniffer

    إذا كنت تعمل على خادم تطوير ، فسيكون من الأسهل تشغيل تسجيل طلبات البحث فقط.