تنقيح iPhone من Mac

يأخذك هذا الدليل من هاتف مثبَّت عليه Chute إلى نافذة على الـ Mac تعرض طلبات ذلك الهاتف مفكوكة التشفير، بمحتويات الطلب والاستجابة، جاهزة للتصفية والتصدير. يربط أشياء لكلٍّ منها صفحة مرجعية — CA، وقائمة المضيفين، والتسجيل، وقناة التحكم، و Dashboard — بالترتيب الذي تنفّذها به فعلاً، ويقول في كل خطوة ما الذي ينبغي أن تراه قبل المتابعة.

تحتاج إلى:

  • Chute iOS على الهاتف، بترخيص. فك تشفير HTTPS والتقاط المحتويات مرخّصان على iPhone؛ وبلا ترخيص يتصل كل ما يلي، لكن صفوف HTTPS تبقى معتمة وتبويبات البيانات لا يمكن اختيارها. انظر الترخيص والتفعيل.
  • Chute Dashboard على الـ Mac — مجاني، بلا ترخيص.
  • كابل USB (موصى به: لا شيء يُفتح على الشبكة، ويعمل على الشبكة الخلوية)، أو الهاتف والـ Mac على شبكة Wi-Fi نفسها.

إن كنت تفضّل ألا تثبّت شيئاً على الـ Mac، فإن وحدة تحكم الويب تعرض الاتصالات والمحتويات وإعادات الكتابة نفسها في متصفّح، ولا تحتاج على الهاتف إلا إلى external-http-controller. الخطوات 1–3 أدناه تنطبق كما هي؛ ومن الخطوة 4 اتبع فتح وحدة تحكم الويب بدلاً من ذلك.

1. ثبّت CA وثِق به

على الهاتف، في محرر الإعدادات: MITM ← Configure CA ← Generate A New CA Certificate، ثم Install CA Certificate to System، ثم اجعله موثوقاً في الإعدادات ← عام ← حول ← إعدادات الثقة بالشهادات. الشرح الكامل، بما فيه الخطوة التي يفوّتها الجميع، في صفحة فك تشفير HTTPS.

ينبغي أن ترى: صفحة الشهادة تعرض Trusted CA Certificate. إن عرضت Not Trusted، فمفتاح الثقة في إعدادات الثقة بالشهادات ما زال مطفأً — لن يعمل شيء مما يلي حتى يُشغَّل.

2. حدّد المضيفين المراد فك تشفيرهم

لا يفكّ Chute التشفير إلا للمضيفين الذين تدرجهم. في قسم MitM من المحرر (القسم الذي فيه Configure CA) أضف المضيفين الذين تريد رؤيتهم. ابدأ ضيّقاً — مضيف API للتطبيق الذي تنقّحه — لا بـ *: كل مضيف مفكوك التشفير يكلّف معالج الهاتف، وبعض التطبيقات تثبّت شهاداتها وتتعطّل عند فكّ تشفيرها. ويُستحسن استثناء *.apple.com منذ البداية.

[MITM]
enable = true
hostname = api.example.com, *.example.net, -*.apple.com

صيغة الكتابة — المنافذ، والاستثناءات بـ -، والحصر بـ /path — موصوفة في صفحة فك تشفير HTTPS. ويمكنك لاحقاً إضافة مضيفين وإزالتهم من لوحة MitM Rules في Dashboard وأنت تراقب الأثر، ثم نقل ما يعمل منها إلى الإعداد.

3. شغّل فك التشفير والتسجيل

في Control Panel (لوحة التحكم) على الهاتف مفتاحان:

  • MitM — فك التشفير مفعّل، لمضيفي الخطوة 2.
  • Traffic Capture — تسجيل محتويات الطلبات والاستجابات (الإعداد replica). بدونه يعرض Dashboard كل اتصال بقاعدته وسياسته، لكن بلا بيانات.

يمكن تبديل كليهما لاحقاً من شريط أدوات Dashboard أيضاً، فلا بأس إن نسيتهما الآن. ولا يبقى أيٌّ منهما بعد إعادة التشغيل ما لم يكن في الإعداد (replica = true في [General]، و enable = true في [MITM])، وكلاهما على iPhone ميزة مرخّصة يرفضها المحرك بلا ترخيص مهما قال الإعداد.

4. اسمح لـ Dashboard بالاتصال

في محرر الإعدادات: External Controller.

  1. فعّل External Controller Access — وتقول حاشيته Allow Chute Dashboard/Chute CLI to Connect.
  2. أدخل Port (أي منفذ حر؛ 6170 إن لم يكن لك تفضيل) و Password من اختيارك.
  3. Allow Access From Wi-Fi: اتركه مطفأً لـ USB. شغّله فقط إن كنت ستتصل عبر Wi-Fi — فهو يفتح المستمع لكل من يملك كلمة المرور على تلك الشبكة.
  4. احفظ، وابدأ النفق (أو أعد تشغيله).

ينبغي أن ترى: لوحة التحكم تعرض External Access Port: 6170 (منفذك). إن غاب السطر فالنفق لا يشغّل الإعداد المحفوظ — أعد تشغيله.

5. صِل Dashboard

صِل الهاتف بالـ Mac بالكابل، وإن سُئلت على الهاتف فاضغط الثقة بهذا الكمبيوتر. افتح Chute Dashboard؛ وفي نافذة New Dashboard اختر Connect via USB، واختر الهاتف من Device:، وأدخل Port من الخطوة 4 و Password، ثم اتصل.

عبر Wi-Fi بدلاً من ذلك: Connect to Remote Machine، حيث Host = عنوان الهاتف (الإعدادات ← Wi-Fi ← ⓘ، عنوان IP)، والمنفذ وكلمة المرور نفسهما.

ينبغي أن ترى: نافذة Dashboard جديدة، تمتلئ قائمتها Active كلما أنشأ الهاتف اتصالات. استخدم الهاتف بضع ثوانٍ إن كانت فارغة. يمكن أن يخطئ أمران هنا: Password does not match، وهاتف يتعذّر الوصول إليه (عنوان خاطئ، أو وصول Wi-Fi مطفأ، أو نفق لا يعمل) — تُفتح النافذة مع ذلك، وتنتهي عبر Wi-Fi إلى Connection Closed، أما عبر USB فتبقى على Connecting… وتعيد المحاولة حتى يستجيب الهاتف. التفاصيل في صفحة Dashboard.

6. تحقّق من مفتاحي شريط الأدوات

في أعلى قائمة Active مفتاحا الخطوة 3 كما يراهما Dashboard:

  • ينبغي أن يقرأ Traffic Capture كـ Disable Traffic Capture — التسجيل مفعّل. إن كان يقرأ Enable Traffic Capture فانقره.
  • ينبغي أن يقرأ Enable MitM (N rules) كـ Disable MitM (N rules) — فك التشفير مفعّل، و N عدد مضيفي الخطوة 2. إن لم يحمل الزر عدّاد (N rules) فقائمة المضيفين لم تصل إلى الهاتف: راجع الخطوة 2 وأعد تشغيل النفق.

7. أعد الإنتاج واعثر على الطلب

نفّذ في التطبيق ما تريد رؤية حركته. ثم ضيّق القائمة بشريط التصفية فوقها: اكتب المضيف في Filter Host/URL… — وحقل Filter في شريط الأدوات هو البحث نفسه — أو علّم MitM Only لإبقاء الصفوف مفكوكة التشفير فقط.

ينبغي أن ترى: صفوفاً لمضيفك فيها M في عمود Flags. ويعرض عمود Method نوع الاتصال — HTTPS — لا فعل الطلب: فسطر الطلب وسطر الحالة هما أول صفين في Req Hdr و Resp Hdr. اختر أحدها: في تبويب Req Hdr الترويسات ومعاملات الاستعلام وملفات تعريف الارتباط (cookies)؛ و Resp Data يعرض المحتوى بصيغة Text إلى أن تختار JSON لشجرة أو Image لصورة.

إن كانت صفوف مضيفك بلا M، فالاتصال لم يُفكّ تشفيره. بترتيب الاحتمال: المضيف ليس في القائمة (أو النمط لا يطابق — api.example.com لا يغطي www.example.com)؛ أو MitM مطفأ؛ أو CA مثبَّت لكنه غير موثوق (التطبيق نفسه سيُظهر أخطاء شهادة)؛ أو التطبيق يثبّت شهادته (استثنِ المضيف واقبل أنك لن ترى داخله)؛ أو التطبيق يتكلم HTTP/3 فوق QUIC الذي لا يُفكّ تشفيره — اضبط block-quic لإعادته إلى TCP.

إن كان في الصف M لكن لا يمكن اختيار Req Data و Resp Data، فلم يُلتقط شيء: كان التسجيل مطفأً حين جرى ذلك الاتصال (شغّله وأعد الإنتاج)، أو المضيف مستبعَد بـ[Replica] على الهاتف. أما المحتوى الأكبر من 2 MiB فيرفض الهاتف تسليمه، ويعرض تبويبه Unable to load this body.

8. احتفظ بما وجدت

حدّد الصفوف وانقر بالزر الأيمن على أحدها: Export Selected as HAR… يكتبها كلها مع محتوياتها في ملف يُفتح في أدوات مطوّري المتصفّح أو Charles أو Proxyman؛ و Copy curl Command ينسخ طلب الصف الذي نقرت عليه لتكرّره من طرفية الـ Mac؛ و Export Selected as CSV… لجدول بيانات. و Export as bin داخل تبويب بيانات يحفظ محتوىً واحداً كما التُقط.

9. غيّر شيئاً (اختياري)

لوحات طريقة العرض MitM تحرّر المحرك العامل. تجربتان سريعتان:

  • Header Rewrite ← أضف قاعدة لمضيفك: Request، Add، X-Debug = 1. أعد الإنتاج؛ تحمل الصفوف الجديدة H و R، ويقتبس Rules Fired في لوحة التفاصيل قاعدتك.
  • Mock Response ← أجِب نقطة نهاية بمحتوى من عندك. ونوع Response Body قائمة منسدلة — file أو text أو base64 أو tiny-gif — والحقل المجاور لها يأخذ ما يحتاجه النوع: مساراً لـ file (ويختاره Browse…)، والمحتوى نفسه لـ text، وصيغته base64 لـ base64، ولا شيء لـ tiny-gif. ومسار file يقرأه الهاتف، ولا /Users/… عنده، فاختر للهاتف text أو base64 وضع المحتوى في القاعدة نفسها، هنا في هذه اللوحة مباشرة — انظر الملاحظة تحت أدوات MitM. الصفوف المحاكاة تحمل K.

القواعد المضافة هنا تختفي عند إعادة تشغيل النفق. ومتى عملت إحداها فاكتبها في الإعداد — الصفحات المرجعية: إعادة كتابة الرابط، إعادة كتابة الترويسات، إعادة كتابة المحتوى، الاستجابة الوهمية.

عند الانتهاء

  • أطفئ Traffic Capture، أو اضبط replica = false: تتراكم المحتويات على الهاتف ما دام التسجيل مفعّلاً.
  • أطفئ Allow Access From Wi-Fi مجدداً إن كنت شغّلته.
  • اترك CA مثبَّتاً إن كنت ستكرر هذا؛ وإلا فأزله من الإعدادات ← عام ← VPN وإدارة الجهاز.
S. Smart Rabbit LLC © All Rights Reserved            updated 2026-09-29 21:57:05

هذه الصفحة ترجمة للنسخة الإنجليزية. في حال وجود اختلاف، يُعتمد على النسخة الإنجليزية.

ملاحظة: التطبيق لا يدعم اللغة العربية حاليًا.

results matching ""

    No results matching ""