تتبع استعلامات 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
إذا كنت تعمل على خادم تطوير ، فسيكون من الأسهل تشغيل تسجيل طلبات البحث فقط.