गाइड

एक ब्रेकपॉइंट लगाएँ मोबाइल रिक्वेस्ट पर

असली फ़ोन की रिक्वेस्ट या रिस्पॉन्स को बीच रास्ते रोकें, डैशबोर्ड में कच्चा HTTP संपादित करें, और उसे आगे बढ़ने दें — या रद्द कर दें। यह iOS पर VPN और PAC मोड में, Android पर प्रॉक्सी से, और कैप्चर किए Chrome में काम करता है।

ट्रैफ़िक देखने से पता चलता है कि ऐप ने क्या भेजा। ब्रेकपॉइंट आपको उसे पहुँचने से पहले बदलने देता है। जब कोई रिक्वेस्ट या रिस्पॉन्स आपके तय पैटर्न से मेल खाता है, तो उसे रोक लिया जाता है — iOS VPN मोड में फ़ोन पर ही, टनल के भीतर, या PAC मोड iOS, Android और ब्राउज़र के लिए प्रॉक्सी सर्वर पर — और वह डैशबोर्ड में कच्चे HTTP के एडिटर के साथ लाइव पॉज़ के रूप में दिखता है। आप संपादित करते हैं, फिर तय करते हैं: अपने बदलावों के साथ या बिना जारी रखें, या रद्द करें।

दोनों सूरतों में डैशबोर्ड ही कॉकपिट है; फ़ोन को कभी छूना नहीं पड़ता। पैटर्न सादे होस्ट-प्लस-पाथ वाइल्डकार्ड हैं, एक क्लिक का कैच-ऑल सब कुछ रोक देता है, और भूला हुआ पॉज़ अपने आप टाइम आउट हो जाता है, इसलिए जिस ब्रेकपॉइंट को छोड़कर आप चले गए वह फ़ोन के ट्रैफ़िक को हमेशा के लिए कभी नहीं अटका सकता।

शुरू करने से पहले

आपको क्या चाहिए

पहले से कैप्चर कर रहा फ़ोन, और उस पर डिक्रिप्टेड वह होस्ट जिसे आप रोकना चाहते हैं।

  • कैप्चर चालू वाला पेयर्ड फ़ोन — किसी भी मोड में iOS, या प्रॉक्सी से Android।

  • उस डिवाइस की SSL प्रॉक्सी सूची में होस्ट। पाथ वाले पैटर्न को डिक्रिप्टेड होस्ट चाहिए; एन्क्रिप्टेड होस्ट सिर्फ़ नाम से मेल खा सकता है।

  • खुला डैशबोर्ड, और हर पॉज़ के लिए लगभग साठ सेकंड का ध्यान — यही टाइमआउट है।

  • वैकल्पिक रूप से, ताज़ा टोकन रखने वाला एक एनवायरनमेंट वेरिएबल, ताकि आप सीक्रेट पेस्ट किए बिना कॉल दोहरा सकें।

चरण दर चरण

इसे क्रम से करें

सात चरण: डिक्रिप्ट करें, पैटर्न तय करें, ट्रिगर करें, संपादित करें, फ़ैसला लें, फिर रिस्पॉन्स की ओर और दोबारा भेजना।

  1. 01

    पहले होस्ट को डिक्रिप्ट करें

    फ़ीड में एंडपॉइंट पर गई कोई असली रिक्वेस्ट ढूँढें और पक्का करें कि उसकी बॉडी पढ़ने लायक है। अगर नहीं, तो होस्ट को डिवाइस की SSL प्रॉक्सी सूची में जोड़ें और कॉल दोबारा ट्रिगर करें — VPN मोड में iOS पर टनल बंद करके चालू करें ताकि वह नई सूची उठा ले। ब्रेकपॉइंट होस्ट और पाथ पर मेल खाते हैं, और पाथ सिर्फ़ डिक्रिप्टेड होस्ट पर ही मौजूद होता है।

  2. 02

    रिक्वेस्ट पैटर्न जोड़ें और सहेजें

    सेटिंग्स नेविगेशन से Breakpoints पेज खोलें। जाती हुई रिक्वेस्ट को सर्वर तक पहुँचने से पहले रोकने के लिए रिक्वेस्ट पैटर्न जोड़ें, या ऐप के देखने से पहले जवाब रोकने के लिए रिस्पॉन्स पैटर्न — वही होस्ट-प्लस-पाथ वाइल्डकार्ड सिंटैक्स जो ब्लॉक नियम इस्तेमाल करते हैं। उन्हें कैप्चर पाथ में भेजने के लिए Save patterns क्लिक करें। प्रति-डिवाइस पैटर्न डिवाइस के नीचे, फिर Breakpoints में रहते हैं; ग्लोबल सेट हर डिवाइस के लिए फ़ॉलबैक है।

    जल्दी में हैं? Pause all requests एक क्लिक का कैच-ऑल है जो बिना किसी पैटर्न के हर जाती रिक्वेस्ट रोक देता है। Resume all इसे पलट देता है।

    दो पैटर्न — एक रिक्वेस्ट की ओर के लिए, एक रिस्पॉन्स की ओर के लिए
    text
    # Request patterns (pause before the request leaves the phone)
    api.example.com/v1/checkout/*
    
    # Response patterns (pause the reply before the app sees it)
    *.example.com/v1/session
  3. 03

    फ़ोन से कॉल ट्रिगर करें

    ऐप इस्तेमाल करें। जब कोई रिक्वेस्ट मेल खाती है, तो वह रुक जाती है — VPN मोड में iOS टनल एक्सटेंशन के अंदर, वरना प्रॉक्सी सर्वर पर — और डैशबोर्ड में Live pauses के नीचे दिखती है, एक स्टेटस पिल के साथ जो पुष्टि करती है कि लाइव लिंक ठीक है। जहाँ तक ऐप की बात है, वह बस धीमे नेटवर्क का इंतज़ार कर रहा है।

  4. 04

    कच्चा HTTP संपादित करें

    पॉज़ चुनें और टेक्स्ट एरिया में रिक्वेस्ट संपादित करें: मेथड, पाथ, हेडर और बॉडी। कंटेंट की लंबाई अपने आप दोबारा गिनी जाती है, इसलिए आपको कभी बाइट गिनने नहीं पड़ते। Host हेडर संपादित किया जा सकता है पर वह रिक्वेस्ट को कहीं और नहीं भेजता — वह बदलता है कि सर्वर क्या देखता है, यह नहीं कि रिक्वेस्ट कहाँ जाती है।

    एडिटर में रुकी हुई रिक्वेस्ट कैसी दिखती है
    http
    POST /v1/checkout/confirm HTTP/1.1
    Host: api.example.com
    Content-Type: application/json
    Authorization: Bearer <redacted>
    
    {"amount": 4900, "currency": "eur", "coupon": null}
  5. 05

    जारी रखें, रद्द करें या रीसेट करें — साठ सेकंड के भीतर

    Continue रिक्वेस्ट को आगे बढ़ने देता है, आपके संपादनों के साथ या बिना। Abort उसे गिरा देता है, तो ऐप को फ़ेल्योर दिखता है। Reset आपके संपादन फेंककर कैप्चर किया मूल लौटा देता है। आपका फ़ैसला लाइव कंट्रोल चैनल से उस डिवाइस तक जाता है जो पॉज़ का मालिक है; अगर साठ सेकंड में कोई फ़ैसला नहीं होता, तो पॉज़ अपने आप टाइम आउट होकर मूल रिक्वेस्ट को जाने देता है, इसलिए बिना देखरेख छोड़ा ब्रेकपॉइंट फ़ोन को कभी हमेशा के लिए नहीं रोकता।

  6. 06

    रिस्पॉन्स की ओर भी रोकें

    रिस्पॉन्स पैटर्न सर्वर के जवाब को ऐप के पाने से पहले रोक लेता है। इसी से आप जाँचते हैं कि ऐप ऐसे फ़ील्ड का क्या करता है जो सर्वर कभी नहीं भेजता, ऐसे स्टेटस का जो वह कभी नहीं लौटाता, या थोड़ी गलत बॉडी का — बिना मॉक नियम और बिना सर्वर छुए। संपादित करें, जारी रखें, और ऐप की प्रतिक्रिया देखें।

  7. 07

    Resend से दोहराएँ और सुधारते रहें

    किसी भी कैप्चर की गई रिक्वेस्ट के एक्शन बार से, Resend उसे डिवाइस या प्रॉक्सी से जस का तस फिर भेजता है और नई कैप्चर को दोबारा भेजी हुई के रूप में चिह्नित करता है। Edit and Resend एक मोडल खोलता है जिसमें पहले मेथड, URL, हेडर या बॉडी बदले जा सकते हैं। URL, हेडर या बॉडी में दोहरे कर्ली ब्रेस वाले प्लेसहोल्डर रिक्वेस्ट के निकलने से ठीक पहले डिवाइस के एनवायरनमेंट वेरिएबल से हल हो जाते हैं — इसलिए आप सीक्रेट पेस्ट किए बिना ताज़ा टोकन के साथ कॉल दोहरा सकते हैं। फ़ीड में Resent फ़िल्टर से दोहराव को मूल से अलग करें, और दोनों को मिलाएँ: रिक्वेस्ट रोकें, कॉपी करें, फिर Edit and Resend से तब तक बदलाव भेजें जब तक मनचाहा रिस्पॉन्स न मिल जाए।

समस्या निवारण

क्या गड़बड़ हो सकती है

अगर कुछ नहीं रुकता, तो पैटर्न ऐसी चीज़ से मेल खा रहा है जो उसे दिखती नहीं, या वह सहेजा ही नहीं गया।

  • रिक्वेस्ट बिना रुके निकल जाती है

    जाँचें कि उस डिवाइस पर होस्ट डिक्रिप्टेड है, कि आपने Save patterns क्लिक किया, और कि वाइल्डकार्ड फ़ीड पंक्ति में दिखे सटीक होस्ट और पाथ से मेल खाता है। प्रति-डिवाइस सेट ग्लोबल फ़ॉलबैक को ओवरराइड करता है, इसलिए यह भी देखें कि फ़ोन कौन-सा इस्तेमाल कर रहा है।

  • संपादन पूरा करने से पहले ही पॉज़ ग़ायब हो गया

    यह साठ सेकंड पर टाइम आउट हो गया और मूल आगे बढ़ गया। अपना संपादन तैयार रखें — पिछली कैप्चर से पेस्ट करें — और कॉल दोबारा ट्रिगर करें।

  • Host हेडर बदलने से रिक्वेस्ट कहीं और नहीं गई

    यह डिज़ाइन है: हेडर संपादित हो सकता है पर कभी रीरूट नहीं करता। दूसरे सर्वर तक पहुँचने के लिए अलग URL के साथ Edit and Resend इस्तेमाल करें, या डिवाइस का निकास बाहरी प्रॉक्सी से रूट करें।

  • Pause all requests ने मेरी मंशा से ज़्यादा जमा दिया

    यह उस दायरे की हर जाती रिक्वेस्ट के लिए कैच-ऑल है जहाँ आपने इसे लगाया। Resume all क्लिक करें, फिर जिस एक होस्ट की परवाह है उसके लिए संकीर्ण रिक्वेस्ट पैटर्न जोड़ें।

  • स्टेटस पिल कहती है कि लाइव लिंक डाउन है

    कंट्रोल चैनल के दोबारा जुड़ने तक आपका Continue या Abort डिवाइस तक नहीं पहुँच सकता। पिल के ठीक होने का इंतज़ार करें; इस बीच जो पॉज़ खत्म हो जाए वह मूल के रूप में जारी रहता है।

सामान्य प्रश्न

लोग जो पूछते हैं

क्या ब्रेकपॉइंट iOS पर बिना Wi-Fi प्रॉक्सी के काम करते हैं?

हाँ। VPN मोड में ऑन-डिवाइस टनल नेटवर्क एक्सटेंशन के अंदर वही रोको-संपादित करो-जारी रखो चक्र चलाती है, Wi-Fi या सेल्युलर पर। PAC मोड इसे प्रॉक्सी सर्वर पर चलाता है। डैशबोर्ड दोनों में एक जैसा दिखता है।

क्या मैं रिक्वेस्ट की जगह रिस्पॉन्स रोक सकता हूँ?

हाँ — रिस्पॉन्स पैटर्न सर्वर के जवाब को ऐप के देखने से पहले रोकते हैं, इसलिए आप स्टेटस, हेडर या बॉडी बदलकर देख सकते हैं कि ऐप कैसे निपटता है।

अगर मैं चाहूँ कि बदलाव हर बार अपने आप हो?

वह ब्लॉक नियम या स्क्रिप्ट है, ब्रेकपॉइंट नहीं: नियम हर मेल का खुद जवाब देता है, स्क्रिप्ट हर रिक्वेस्ट पर बाइट्स फिर से लिखती है। ब्रेकपॉइंट उन मामलों के लिए हैं जहाँ आप हर बार खुद फ़ैसला करना चाहते हैं।

रिक्वेस्ट रोकें, इरादा बदलें

एक पैटर्न, एक पॉज़, एक संपादन — और आपके हाथ के फ़ोन को ठीक वही रिक्वेस्ट या जवाब मिलता है जिसे आप परखना चाहते थे।

Ask your mate