العازف هو:
تطبيق خادم وكيل عبر الأنظمة الأساسية لتصحيح أخطاء HTTP. وهي تتيح للمستخدم عرض HTTP و HTTPS وحركة مرور منفذ TCP الممكنة التي يتم الوصول إليها من أو إلى أو من خلال الكمبيوتر المحلي. يتضمن ذلك الطلبات والردود ، بما في ذلك رؤوس HTTP والبيانات الوصفية (مثل ملفات تعريف الارتباط ومعلومات التخزين المؤقت والتشفير) ، مع ميزات مصممة لمساعدة المطورين والمختبرين على تحليل الاتصالات وتبادل الرسائل.
الخطوات الأولى
1. التثبيت والإطلاق
تحتاج أولاً إلى تنزيل التطبيق وتثبيته.
إذا كان لديك نظام تشغيل MAC أو Linux ، فستحتاج إلى الانتقال إلى القسم المناسب لتنزيل إصدار خاص من Fiddler Everywhere . في هذه المقالة ، سننظر في العمل مع Fiddler Classic لنظام التشغيل Windows.
2. اختيار متصفح للاستنشاق
أولاً ، دعنا نختار المتصفح الذي نريد الوكيل. كمثال ، سنأخذ متصفح Mozilla Firefox. للقيام بذلك ، انتقل إلى علامة التبويب استعراض -> ثم حدد المتصفح الذي نحتاجه.
3. نبدأ في شم حركة المرور
بعد اختيار المتصفح الذي نحتاجه ، نحتاج إلى تثبيت الشهادة. للقيام بذلك ، انتقل إلى أدوات -> علامة التبويب خيارات .
في مربع الحوار الذي يفتح ، نحتاج إلى تحديد علامة التبويب HTTPS .
بعد ذلك ، تحتاج إلى تحديد مربع الاختيار " فك تشفير حركة مرور HTTPS ". بعد ذلك ، اسمح بتثبيت الشهادة.
بعد تثبيت الشهادة ، دعنا نفتح في متصفح ، على سبيل المثال ، موقع Yula. في القسم الموجود على اليسار ، نرى جميع الطلبات الموجهة إلى المضيف
api.youla.io
وليس فقط. من بين الطلبات نختار الطلب الذي نحتاجه مثلا لاصدار كل البضائع:
https://api.youla.io/api/v1/products
لفك تشفير الاستجابة ، يجب النقر فوق "نص الاستجابة غير مشفر. انقر لفك الشفرة. ".
4. إعداد وكيل على Android
لكي تظهر مطالبات تطبيق Android ، يلزمك السماح بالاتصال عن بُعد. للقيام بذلك ، انتقل إلى أدوات -> علامة التبويب خيارات . في مربع الحوار الذي يفتح ، نحتاج إلى تحديد علامة التبويب اتصالات .
بعد ذلك ، يجب عليك تحديد مربع الاختيار " السماح لأجهزة الكمبيوتر البعيدة بالاتصال " و " التقاط طلبات FTP ". يستمع Fiddler الآن على المنفذ 8888 (هذا هو المنفذ الافتراضي ، يمكنك تغييره من الإعداد أعلاه). لتطبيق الإعدادات ، انقر فوق "موافق" وأعد تشغيل Fiddler.
الآن نحن بحاجة إلى تكوين جهاز Android الخاص بنا. ارفع الهاتف ، افتح خصائص الشبكة → اسم شبكة واي فاي → الملقم الوكيل → دليل → اسم المضيف : * IP * / الخاص ميناء : * 8888 * → حفظ خصائص شبكة الاتصال المتغيرة (عنوان IP لجهاز الكمبيوتر الخاص بك الذي تم تثبيت عازف الكمان هو مبين). اتبع
الرابط
http://ipv4.fiddler:8888
وقم بتنزيل شهادة FiddlerRoot ، ثم سيبدأ التنزيل التلقائي للشهادة. افتحه ، وعيِّن اسمًا للشهادة ، والآن يمكنك الوصول إلى حركة مرور تطبيق Android.
على سبيل المثال ، دعنا نذهب إلى تطبيق Yula ونفتح بطاقة لأي منتج. على يسار الشاشة سنجد طلب بطاقة منتج وهي:
https://api.youla.io/api/v1/product/5fc60e5e211e77413a1dc323
... وفي الجزء الأيمن العلوي يوجد - طلب ، في أسفل اليمين - استجابة. لا تنس النقر فوق "نص الاستجابة غير مشفر. انقر لفك الشفرة. "لفك شفرة الرد.
5. إعداد وكيل على iOS
التقط iPhone الخاص بك ، افتح خصائص الشبكة ← اسم شبكة WiFi ← خادم وكيل ← يدوي ← اسم المضيف : * IP * / المنفذ : * 8888 * ← احفظ خصائص الشبكة التي تم تغييرها.
أنت الآن بحاجة إلى اتباع الرابط
http://ipv4.fiddler:8888
، وتنزيل شهادة FiddlerRoot ، " السماح " بتنزيل ملف تعريف التكوين.
بعد ذلك ، انتقل إلى الإعدادات ← تحميل ملف التعريف ← تثبيت .
ثم انتقل إلى إعدادات → عامة → معلومات عن هذا الجهاز → شهادات الثقة → العثور على الشهادة المثبتة وجعلها " الموثوق بها ".
على سبيل المثال ، دعنا نذهب إلى تطبيق Yula ونفتح بطاقة لأي منتج. على الجانب الأيسر نجد طلبا للحصول على بطاقة المنتج هو:
https://api.youla.io/api/v1/product/5fc60e5e211e77413a1dc323
. وفي الجزء الأيمن العلوي يوجد - طلب ، في أسفل اليسار - استجابة. لفك تشفير الاستجابة ، يجب النقر فوق "نص الاستجابة غير مشفر. انقر لفك الشفرة. ".
عمليات على الاستفسارات
على اليمين ، في النافذة التي يوجد بها الطلب والاستجابة ، توجد أدوات إضافية:
الإحصائيات - تتيح لك الحصول على إحصائيات متنوعة لكل من طلب واحد ومجموعة من الطلبات المحددة ؛
المفتشون - يسمحون لك بمشاهدة الرؤوس وطلب البيانات بأشكال مختلفة ؛
المرشحات - يسمح لك بتتبع طلبات محددة ؛
الجدول الزمني - تمثيل مرئي للطلبات المكتملة على جدول زمني.
انتحال البيانات في Fiddler Classic
لنتخيل أننا بحاجة إلى اختبار التخطيط على العميل. تحتاج إلى التحقق من كيفية عرض عدد كبير من مكافآت المستخدم. أحد الخيارات التي سيقدمها الكثيرون: تغيير عدد المكافآت في قاعدة البيانات والتحقق من العميل. نعم ، ستكون على حق! ومع ذلك ، قد يحتوي الخادم على ذاكرة تخزين مؤقت ، وتحتاج إلى الانتظار بعض الوقت حتى يتم تحديث عدد المكافآت ، أو مجرد الاتصال بقاعدة البيانات نفسها وتنفيذ الطلب - يستغرق هذا وقتًا معينًا. هناك خيار أسهل: تغيير الاستجابة من الخادم! يحتوي Fiddler Classic على عدة خيارات لانتحال البيانات ، دعنا نلقي نظرة على بعضها:
1.1 نقاط التوقف التلقائية
نقطة التوقف هي نوع من نقاط التوقف للطلب. عند العثور على طلب من قائمة معينة ، يتم عرضه على اليمين ويمكنك التفاعل معه.
أولاً ، دعنا نضع نقطة توقف عند الطلب ، أي عند الطلب. دعنا ننتقل إلى القواعد -> نقاط التوقف التلقائية وحدد " قبل الطلبات "
دعنا ننفذ طلبًا لمستخدم
https://api.youla.io/api/v1/user/5e6222bbbedcc5975d2375f8
وبعد تنفيذ طلب من العميل ، في حالتنا هو تطبيق Yula android ، يتم عرض الطلب على اليمين. يمكننا تعديله.
لإرسال طلب ، انقر فوق " تشغيل حتى الإكمال" . سيتم إرسال طلبنا إلى الخادم.
لكننا ، على سبيل المثال ، نريد تغيير عدد المكافآت التي يحصل عليها المستخدم على العميل. للقيام بذلك ، نحتاج إلى تغيير الاستجابة من الخادم. لذلك دعونا نحدد " بعد الردود " في القواعد -> نقاط التوقف التلقائية .
لدينا تطبيق وملف تعريف مستخدم لديه حاليًا 45 مكافأة على حسابهم:
الطلب الذي يأتي فيه هذا العدد من المكافآت:
https://api.youla.io/api/v1/user/5e6222bbbedcc5975d2375f8
على الجانب الأيسر من الشاشة ، نرى استجابة الخادم.
ابحث عن المعلمة المطلوبة - "bonus_cnt": 45. بعد ذلك ، قم بتغيير قيمة المعلمة bonus_cnt ، على سبيل المثال ، إلى 1،000،000 مكافأة ، وانقر فوق " تشغيل إلى الإكمال ".
سيتم عرض المبلغ الجديد من المكافآت على العميل. نحن أغنياء!
1.2 الرد الآلي
AutoResponder هو نوع من نقاط التوقف لطلب. عند العثور على طلب من القائمة المحددة ، يتم عرضه على اليمين ويمكنك التفاعل معه.
لنحدد الطلب الذي نحتاجه ونسحبه إلى الجانب الأيمن.
بعد سحبها وإسقاطها سيبدو كما يلي:
بعد ذلك ، نحتاج إلى تغيير القاعدة ، لذلك سنغير:
METHOD:PUT EXACT:https://api.youla.io/api/v1/user/5e6222bbbedcc5975d2375f8?adv_id=99d548bc-0ca0-434e-b016-24611313d9de&app_id=android%2F10777&uid=85c9a921c27fb0e8&usr_latitude=55.9332685&usr_longitude=37.5032966×tamp=1607977265
إلى:
REGEX:.+/user/5e6222bbbedcc5975d2375f8*
لا نهتم بالجزء السابق "/ user / 5e6222bbbedcc5975d2375f8" ثم احفظ بالضغط على حفظ . ثم انقر بزر الماوس الأيمن فوق الطلب -> تحرير الاستجابة .
في النافذة التي تفتح ، انتقل إلى RAW ، وقم بتغيير الإجابة: قم
بتغيير القيمة من "45" إلى "1،000،000" مكافأة:
لنحفظ الإجابة المعدلة بالنقر فوق "حفظ" وإعادة طلب شاشة "ملف تعريف المستخدم". نحن أغنياء:
محاكاة السرعة
يتم توفير هذه الميزة في البرنامج النصي. يمكنك تغيير سلوكها بالانتقال إلى القواعد -> تخصيص إعدادات القواعد وتحرير قيم كتلة البرنامج النصي: لتمكين هذه الوظيفة ، انتقل إلى القواعد -> الأداء وحدد " محاكاة سرعات المودم ".
if (m_SimulateModem) {
// 300 .
oSession ["-"] = "300";
// 150 .
oSession ["-"] = "150";
}
تصميم الاستعلامات
لنتخيل أننا بحاجة إلى إرسال طلب لأنفسنا ونرى الرد. توجد أداة منشئ الطلبات لهذه المهمة. باستخدام هذه الأداة ، يمكنك إنشاء طلبات HTTP بنفسك. على سبيل المثال ، دعنا نطلب منتجات من الشاشة الرئيسية في خدمة Yula.
أولاً ، دعنا نختار الطريقة التي نحتاجها ، في حالتنا هي طلب GET. بعد ذلك ، سننشئ الطلب نفسه:
http://api.youla.io/api/v1/products
الخطوة التالية هي تنفيذ طلبنا بالنقر فوق تنفيذ. على اليسار ، نرى طلب منتج مكتمل. لنحدد هذا الطلب ، ومن خلال أداة المفتشون ، نلقي نظرة على الطلب والاستجابة:
ملخص
في هذه المقالة ، حاولنا وصف بعض وظائف Fiddler Classic ، والتي يستخدمها مختبرو تطبيقات الجوال والويب. هذا كل شيء ، لا تتوقف عند آلة واحدة ، جرب أشياء مختلفة.