IOS पर मोबाइल एप्लिकेशन के नेटवर्क ट्रैफ़िक का विश्लेषण। भाग 1 - परदे के पीछे


मोबाइल एप्लिकेशन को विकसित या परीक्षण करते समय ऐसी स्थितियां होती हैं, जब एप्लिकेशन के नेटवर्क ट्रैफ़िक को देखना आवश्यक हो जाता है। फिर भी अपने आईडीई के कंसोल में प्रदर्शित करके मोबाइल ऐप ट्रैफ़िक देखें? इस कार्य के लिए अधिक प्रभावी उपकरण हैं, उदाहरण के लिए, प्रॉक्सी। इस लेख में, हम सबसे लोकप्रिय HTTP (S) परदे के पीछे का विश्लेषण करेंगे, सीखेंगे कि iOS के विकास में उनका उपयोग कैसे करें, और विभिन्न मानदंडों के अनुसार उनकी तुलना करें।


आगे हम आईओएस विकास में प्रॉक्सी के उपयोग के बारे में बात करेंगे, लेकिन एंड्रॉइड विकास में कई चीजें भी लागू होती हैं।


सावधानी, कट के तहत बहुत सारी तस्वीरें।


मोबाइल एप्लिकेशन के नेटवर्क ट्रैफ़िक का विश्लेषण करने के लिए टूल में विभाजित किया जा सकता है:


  1. परीक्षण के तहत आवेदन के स्रोत कोड में एकीकरण की आवश्यकता नहीं है - प्रॉक्सी:
  2. परीक्षण के तहत आवेदन के स्रोत कोड में एकीकरण की आवश्यकता है। इनमें मुख्य रूप से डिबगिंग फ्रेमवर्क शामिल हैं:

यह लेख का पहला भाग है जिसमें हम प्रॉक्सी के उपयोग पर विचार करेंगे और विभिन्न मानदंडों के अनुसार उनकी तुलना करेंगे। लेख के दूसरे भाग में, हम डीबगिंग के लिए चौखटे से गुजरेंगे।


Mitmproxy



मित्प्रॉक्सी एक स्वतंत्र और खुला स्रोत है (~ १२,००० तारे गिथब पर) एचटीटीपी (एस) -प्रोक्सी, जिसमें स्वयं मितप्रॉक्सी होता है, ट्रैफ़िक के लिए एक कंसोल उपयोगिता, मिटमडंप, एक अतिरिक्त कंसोल उपयोगिता जो tcpdump के समान कार्यक्षमता होती है, लेकिन HTTP (एस) के लिए ट्रैफ़िक, साथ ही मिटम्वेब, मित्प्रॉक्सी के लिए वेब इंटरफ़ेस।


आप Homebrew का उपयोग करके मितप्रोक्सी स्थापित कर सकते हैं:


brew install mitmproxy


या आधिकारिक वेबसाइट से रिलीज पृष्ठ से वांछित संस्करण डाउनलोड करें


सफल स्थापना के बाद, एक सिम्युलेटर या डिवाइस से HTTP ट्रैफ़िक का विश्लेषण करने के लिए, आपको नेटवर्क सेटिंग्स में एक प्रॉक्सी निर्दिष्ट करने की आवश्यकता है।


सिम्युलेटर के लिए, आपको मैक ओएस नेटवर्क सेटिंग्स (सिस्टम वरीयताओं -> नेटवर्क -> उन्नत -> प्रॉक्सी) में HTTP और HTTPS प्रॉक्सी को सक्रिय करने की आवश्यकता है:



एक मैक पर वाई-फाई के लिए नेटवर्क सेटिंग्स में एक प्रॉक्सी के त्वरित सक्रियण / निष्क्रिय करने के लिए एक छोटा सा बैश स्क्रिप्ट । (एक बार जब हम सेटिंग्स में आईपी और प्रॉक्सी पोर्ट पंजीकृत कर लेते हैं और फिर कंसोल से proxy on या proxy off )।


वास्तविक डिवाइस से ट्रैफ़िक को रोकने के लिए, आपको आईओएस नेटवर्क की सेटिंग्स में प्रॉक्सी को निर्दिष्ट करने की आवश्यकता है, जबकि कंप्यूटर में चल रहे कंप्यूटर का आईपी पता प्रॉक्सी आईपी एड्रेस और पोर्ट 8080 के रूप में सेट किया गया है। (कंप्यूटर का आईपी एड्रेस सेटिंग्स> नेटवर्क में देखा जा सकता है)



इस स्तर पर, हम पहले से ही HTTP ट्रैफ़िक को रोक सकते हैं, लेकिन HTTPS ट्रैफ़िक को इंटरसेप्ट करने के लिए, आपको सिमुलेटर / डिवाइस पर मिटप्रॉक्सी सर्टिफ़िकेट इंस्टॉल करना होगा।
सिम्युलेटर पर, ऐसा करने के लिए, निम्नलिखित करें (एक वास्तविक डिवाइस के लिए, चरण समान हैं):


  • सुनिश्चित करें कि मित्प्रॉक्सी चल रहा है और प्रॉक्सी सक्रिय है और नेटवर्क सेटिंग्स में पंजीकृत है (सिम्युलेटर के लिए - मैकओएस सेटिंग्स, डिवाइस के लिए - आईओएस सेटिंग्स), जैसा कि ऊपर वर्णित है। अब mitm.it पर ब्राउजर में जाएं और मित्प्रॉक्सी सर्टिफिकेट डाउनलोड करने के लिए Apple आइकन पर क्लिक करें। एक संदेश के साथ एक चेतावनी दिखाई देगी कि यह वेबसाइट iOS सेटिंग्स खोलने की कोशिश कर रही है: अनुमति दें पर क्लिक करें।


  • फिर मित्प्रॉक्सी प्रमाणपत्र स्थापित करें।


  • और अंतिम स्पर्श - आईओएस संस्करण 10.3 और उच्चतर के लिए, आपको मितप्रोक्सी रूट प्रमाणपत्र तक पूर्ण पहुंच सक्षम करनी होगी। ऐसा करने के लिए, सेटिंग> जनरल> अबाउट> सर्टिफिकेट ट्रस्ट सेटिंग्स पर जाएं और मितप्रोक्सी सर्टिफिकेट के लिए पूरी पहुंच को सक्रिय करें।


अब हम सिम्युलेटर से HTTPS ट्रैफ़िक का विश्लेषण कर सकते हैं। यह एक छोटे से स्पष्टीकरण को जोड़ने के लिए बना हुआ है: प्रमाणपत्र एक विशिष्ट सिम्युलेटर के लिए स्थापित किया गया है, अर्थात, यदि हमने इसे केवल iPhone X सिम्युलेटर के लिए किया है, तो iPhone 8 सिम्युलेटर पर हमें ऐसा करने की आवश्यकता है ताकि प्रॉक्सी HTTPS ट्रैफ़िक को स्वीकार कर ले। एक वास्तविक डिवाइस से HTTPS ट्रैफिक को इंटरसेप्ट करने के लिए, सभी चरण समान हैं, मुख्य बात यह है कि यह उसी स्थानीय नेटवर्क से जुड़ा हुआ है जैसे कि मित्प्रॉक्सी वाला कंप्यूटर।


उसके बाद, आप कंसोल से मिटम्पॉक्सी चला सकते हैं और एक हैकर की तरह लग रहा है या mitmweb वेब क्लाइंट।


कंसोल क्लाइंट हमें एक ट्यूब इंटरफेस (जीयूआई प्रेमियों के लिए यहां तक ​​कि माउस समर्थन भी है) से मिलता है, जहां सभी इंटरसेप्ट किए गए अनुरोध प्रदर्शित होते हैं।



आप प्रत्येक अनुरोध के लिए विस्तृत जानकारी देख सकते हैं (अनुरोध पैरामीटर, हेडर, प्रतिक्रिया, आदि)



मितप्रोक्सी में नियमित अभिव्यक्ति के समर्थन के साथ एक शक्तिशाली क्वेरी फ़िल्टरिंग प्रणाली है। आप कोड, अनुरोध / प्रतिक्रिया निकाय, हेडर, डोमेन, आदि द्वारा अनुरोधों को फ़िल्टर कर सकते हैं। उपलब्ध शॉर्टकट और फ़िल्टर एक्सप्रेशन पर क्लिक करके कॉल सहायता ? । उदाहरण के लिए, वर्तमान सत्र के लिए प्रश्नों की सूची को साफ़ करने के लिए, आप बस z दबा सकते हैं, और URL द्वारा क्वेरी की सूची को फ़िल्टर करने के लिए जिसमें "सेब" शब्द है, आपको URL ~u apple द्वारा फ़िल्टर अभिव्यक्ति लिखने और लिखने की आवश्यकता है, जो एक नियमित अभिव्यक्ति लेता है।



विम प्रशंसकों को भी hjkl समर्थन से प्रसन्न किया जाएगा। हम लगभग एक बहुत ही महत्वपूर्ण शॉर्टकट q बारे में भूल गए - यह स्क्रीन के बीच चलते समय "बैक" बटन की तरह काम करता है, और मुख्य स्क्रीन पर प्रश्नों की एक सूची के साथ जब आप इस शॉर्टकट पर क्लिक करते हैं, तो मिम्प्रोक्सी कार्यक्रम से बाहर निकलने की पेशकश करेगा।
कंसोल इंटरफ़ेस के बावजूद, मित्प्रॉक्सी का उपयोग करना सुविधाजनक शॉर्टकट और सरल सहज ज्ञान युक्त नियंत्रण के लिए एक खुशी है। नीचे मुख्य शॉर्टकट के साथ एक छोटी तालिका है।


शॉर्टकटविवरण
?सहायता
zवर्तमान सत्र सूची साफ़ करें
सत्र फ़िल्टरिंग
क्षपीछे (मुख्य स्क्रीन पर बाहर निकलें)
सत्र सूची से अनुरोध निकालें
आरबार-बार अनुरोध
फ़ाइल करने का अनुरोध सहेजें
जीशीर्ष सत्र सूची
जीसत्र सूची के अंत में

यदि आप अभी भी कंसोल के प्रबल विरोधी हैं और केवल GUI अनुप्रयोगों को पहचानते हैं, तो mitmweb हमारी सहायता करने की जल्दी में है, हम इसे कंसोल से भी समय के लिए लॉन्च करेंगे, बाद में हम डेस्कटॉप पर शॉर्टकट बना सकते हैं।



वेब क्लाइंट अभी भी बीटा परीक्षण में है और इसमें केवल मूल माइट्रॉक्सी कार्यक्षमता (कार्यों का 95% के लिए पर्याप्त) है, जिसे धीरे-धीरे प्रत्येक नई रिलीज़ के साथ नई सुविधाओं के साथ पूरक किया जाता है, लेकिन इसके बावजूद, अब इसका उपयोग किया जा सकता है और यह बहुत सुविधाजनक है। कंसोल संस्करण से कुछ शॉर्टकट भी यहां काम करते हैं, उदाहरण के लिए, वर्तमान सत्र के अनुरोधों की सूची को साफ़ करने के लिए, बस z दबाएं। आप "खोज" फ़ील्ड के माध्यम से इंटरसेप्ट किए गए अनुरोधों को भी फ़िल्टर कर सकते हैं, जैसा कि हमने कंसोल एप्लिकेशन में किया था जब हमने ~u apple फ़िल्टर लागू किया था।



मित्प्रॉक्सी दावे वेबसोकेट मानक के लिए समर्थन का समर्थन करता है, लेकिन दुर्भाग्यवश यूआई में वेबसोकेट फ़्रेम का प्रदर्शन अभी तक लागू नहीं किया गया है और डेवलपर्स के अनुसार, वेबसोकेट कार्यक्षमता केवल मितमडम्प उपयोगिता के लिए उपलब्ध है।


चार्ल्स



MacOS के लिए चार्ल्स शायद सबसे लोकप्रिय HTTP (S) प्रॉक्सी है, इसका एकमात्र दोष यह है कि यह भुगतान किया जाता है, लेखन के समय, लाइसेंस की लागत $ 50 होती है। हालांकि, एक परीक्षण संस्करण है - यह 30 मिनट के लिए काम करता है, फिर आवेदन को फिर से शुरू करने की आवश्यकता होती है, और संपूर्ण क्वेरी इतिहास खो जाता है। पांच-सेकेंड के स्टार्टअप विलंब भी हैं।


स्थापना और पहली शुरुआत के बाद, चार्ल्स आपको सिस्टम प्रॉक्सी को स्वचालित रूप से कॉन्फ़िगर करने के लिए एक्सेस देने के लिए कहेंगे, "ग्रांट प्रिविलेजिस" का चयन करें, या हर बार मैन्युअल रूप से सिस्टम प्रॉक्सी सेटिंग्स बदलें। इस प्रकार, चार्ल्स स्वयं बदल जाएगा और सिस्टम प्रॉक्सी सेटिंग्स को सक्रिय करेगा जब यह चल रहा है - यह सिम्युलेटर पर डिबगिंग के दौरान सुविधाजनक है, लेकिन एक वास्तविक डिवाइस पर आपको नेटवर्क के लिए प्रॉक्सी सर्वर सेटिंग्स को मैन्युअल रूप से सेट करना होगा, क्योंकि प्रॉक्सी सर्वर कंप्यूटर चलाने के आईपी पते को निर्दिष्ट करता है। चार्ल्स, पोर्ट के रूप में - 8888।


इस स्तर पर, हम केवल HTTP ट्रैफ़िक देख सकते हैं, एक सिम्युलेटर या वास्तविक डिवाइस से HTTPS ट्रैफ़िक का विश्लेषण करने के लिए, हमें उस पर एक चार्ल्स प्रमाणपत्र स्थापित करने की आवश्यकता है, यह प्रक्रिया एक मित्प्रोक्सी प्रमाणपत्र स्थापित करने के समान है। सुनिश्चित करें कि प्रॉक्सी iOS नेटवर्क सेटिंग्स (एक वास्तविक डिवाइस के लिए) में या मैकओएस नेटवर्क सेटिंग्स (एक सिम्युलेटर के लिए) में सक्रिय और चालू है। फिर हम chls.pro/ssl के ब्राउज़र में सिम्युलेटर / डिवाइस पर जाएंगे , एक संदेश के साथ एक चेतावनी दिखाई देगी कि यह वेबसाइट iOS सेटिंग्स खोलने की कोशिश कर रही है: अनुमति दें चुनें। अगला, प्रमाणपत्र स्थापित करने के लिए इंस्टॉल करें चुनें। IOS संस्करण 10.3 और उच्चतर के लिए प्रमाणपत्र स्थापित करने के बाद, आपको चार्ल्स रूट प्रमाणपत्र तक पूर्ण पहुंच सक्षम करनी होगी। ऐसा करने के लिए, सेटिंग> जनरल> अबाउट> सर्टिफिकेट ट्रस्ट सेटिंग्स पर जाएं और चार्ल्स सर्टिफिकेट के लिए पूरी पहुंच को सक्रिय करें।



अन्त में, आपको चार्ल्स में SSL प्रॉक्सी को कॉन्फ़िगर करने की आवश्यकता है, डिफ़ॉल्ट रूप से यह HTTPS ट्रैफ़िक को डिक्रिप्ट नहीं करता है, भले ही आपने सभी आवश्यक प्रमाणपत्र स्थापित किए हों। SSL प्रॉक्सी को सक्रिय करने के लिए, प्रॉक्सी> एसएसएल प्रॉक्सी सेटिंग पर जाएं और SSL प्रॉक्सी को सक्रिय करें, यदि यह अक्षम है, तो हमारे पास दो विकल्प हैं - सभी डोमेन के लिए या केवल विशिष्ट लोगों के लिए एसएसएल प्रॉक्सी को सक्षम करें। सभी डोमेन के लिए SSL प्रॉक्सी को सक्षम करने के लिए, आपको वाइल्डकार्ड स्थान जोड़ने की आवश्यकता है: ऐड बटन पर क्लिक करें और सभी क्षेत्रों में * निर्दिष्ट करें, इसलिए एसएसएल सेटिंग्स इस तरह दिखना चाहिए।



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


चार्ल्स का उपयोग करते समय, यातायात अवरोधन फिल्टर का उपयोग करना सुविधाजनक है, जिसे प्रॉक्सी> रिकॉर्डिंग सेटिंग्स मेनू में कॉन्फ़िगर किया जा सकता है: आप प्रोटोकॉल, URL, पोर्ट निर्दिष्ट कर सकते हैं।



अब हमारे पास HTTPS ट्रैफ़िक देखने की क्षमता है।



चार्ल्स वेबसोकेट प्रोटोकॉल का भी समर्थन करते हैं और iMessage की शैली में संदेश प्रदर्शित करते हैं, यह सुविधाजनक लगता है।



IOS के लिए अपनी तरह का पहला प्रॉक्सी चार्ल्स विशेष उल्लेख के योग्य है - चार्ल्स का मोबाइल संस्करण, लिखने के समय ऐप स्टोर में मूल्य टैग $ 9 है। एप्लिकेशन में डेस्कटॉप संस्करण की मूल कार्यक्षमता शामिल है: HTTP (S) ट्रैफ़िक को सम्‍मिलित करना, अनुरोधों / प्रतिक्रियाओं की सामग्री को देखना और वाई-फाई नेटवर्क के लिए प्रॉक्सी सेटिंग्स की सुविधाजनक स्वचालित सेटिंग।



बर्प सूट (सामुदायिक संस्करण)



बर्प सूट एक स्विस चाकू है जो कि पेन्टेस्टर्स और हैकर्स के पास होता है, जिसमें एक अशोभनीय उपकरण और कार्यक्षमता होती है। बर्प सूट में एक मॉड्यूल प्रॉक्सी है, जिसका उपयोग हम HTTP (एस) ट्रैफ़िक का विश्लेषण करने के लिए करेंगे। एप्लिकेशन के दो संस्करण हैं: व्यावसायिक और सामुदायिक संस्करण। सामुदायिक संस्करण मुफ़्त है, इसमें भेद्यता स्कैनर नहीं है और समय की प्रति इकाई अनुरोधों की संख्या की सीमा है, लेकिन इसके बावजूद, एप्लिकेशन का मुफ्त संस्करण पूर्ण-परीक्षण उपकरण है।


एप्लिकेशन शुरू करने के बाद, आपको प्रॉक्सी> विकल्प पर जाकर प्रॉक्सी को जोड़ना और सक्रिय करना होगा।



फिर आपको यह सुनिश्चित करने की आवश्यकता है कि अवरोधन अनुरोध अवरोधक को बंद कर दिया गया है, अन्यथा यह अनुरोधों को रोक देगा और उन्हें तब तक दबाए रखेगा जब तक आप उसे यह नहीं बता देते कि इस अनुरोध के साथ क्या करना है - इसे रद्द करें या सर्वर पर अग्रेषित करें। इसलिए, इसे बंद कर दें, अब हमें इसकी आवश्यकता नहीं है।



अगला, आपको सिम्युलेटर / डिवाइस पर बर्प सूट प्रमाणपत्र स्थापित करने की आवश्यकता है, इस प्रक्रिया को पहले से ही मितप्रोक्सी और चार्ल्स प्रमाण पत्र स्थापित करने के बाद हमें परिचित होना चाहिए। हम बर्प सूट लॉन्च करते हैं, और सिम्युलेटर के लिए या असली डिवाइस के लिए आईओएस में मैकओएस नेटवर्क सेटिंग्स में प्रॉक्सी को सक्रिय करने के लिए मत भूलना (यह कैसे करें के लिए मितप्रोक्सी अनुभाग देखें), प्रॉक्सी सर्वर के रूप में बर्प सूट चलाने वाले कंप्यूटर का आईपी पता निर्दिष्ट करें, पोर्ट के रूप में - 8080. फिर हम सिम्युलेटर पर ब्राउज़र में जाते हैं और पता http: // burp दर्ज करते हैं। अगला, साइट "सीए सर्टिफिकेट" पर बटन पर क्लिक करें और प्रमाण पत्र डाउनलोड करें।



फिर प्रमाण पत्र स्थापित करें। IOS संस्करण 10.3 और उच्चतर के लिए प्रमाणपत्र स्थापित करने के बाद, आपको बर्प सूट रूट प्रमाणपत्र तक पूर्ण पहुंच सक्षम करनी होगी। ऐसा करने के लिए, सेटिंग> जनरल> अबाउट> सर्टिफिकेट ट्रस्ट सेटिंग्स पर जाएं और बर्प सूट सर्टिफिकेट के लिए पूरी पहुंच को सक्रिय करें।



प्रॉक्सी -> HTTP इतिहास टैब पर जाकर, आप मोबाइल एप्लिकेशन से HTTP (एस) ट्रैफ़िक देख सकते हैं। यह ध्यान देने योग्य है कि यहाँ नकारात्मक पक्ष अनुरोध / प्रतिक्रिया के शरीर में JSON प्रारूपण की कमी है।



JSON फ़ॉर्मेटिंग के साथ समस्या को JSON ब्यूटीफुल प्लग इन को हल करके हल किया जा सकता है। इंस्टॉल करने के लिए, एक्सटेंडर> BApp स्टोर टैब पर जाएं, प्लगइन्स की सूची में JSON ब्यूटिफायर ढूंढें और इंस्टॉल पर क्लिक करें।



अब सुंदर JSON के साथ एक अतिरिक्त JSON ब्यूटिफायर टैब है।



बर्प सूट वेबसोकेट प्रोटोकॉल का समर्थन करता है। Websocket संदेश विशेष टैब में पाया जा सकता है Proxy> WebSockets का इतिहास।



OWASP ZAP



Owasp ZAP विश्व प्रसिद्ध साइबरसिटी समुदाय Owasp के दिमाग की उपज है, इसके अलावा, प्रॉक्सी खुला स्रोत है। ओस्पास जेडएपी की तुलना अक्सर बर्प सूट से की जाती है, लेकिन बाद की लोकप्रियता में नीच है। Owasp ZAP पूरी तरह से स्वतंत्र है, इसमें बर्प सूट की तुलना में कोई प्रो संस्करण नहीं हैं।


एप्लिकेशन शुरू करने के बाद, आपको प्रॉक्सी सेटिंग्स प्राथमिकताएं> स्थानीय प्रॉक्सी की जांच करने की आवश्यकता है, डिफ़ॉल्ट सेटिंग्स इस तरह दिखनी चाहिए।



फिर प्राथमिकताएँ> SSL प्रमाणपत्र निर्यात करने के लिए डायनेमिक एसएसएल सर्टिफिकेट पर जाएं। सहेजें बटन पर क्लिक करें और प्रमाण पत्र, उदाहरण के लिए, डेस्कटॉप पर सहेजें।



अगला, बस प्रमाणपत्र फ़ाइल को सिम्युलेटर में खींचें और प्रमाणपत्र स्थापित करने के लिए एक विंडो खुलती है, हम सहमत होते हैं और इंस्टॉल करते हैं। IOS संस्करण 10.3 और उच्चतर के लिए प्रमाणपत्र स्थापित करने के बाद, आपको OWASP ZAP रूट प्रमाणपत्र तक पूर्ण पहुंच को सक्षम करना होगा। ऐसा करने के लिए, सेटिंग> जनरल> अबाउट> सर्टिफिकेट ट्रस्ट सेटिंग्स पर जाएं और ओडब्ल्यूएएसपी जेडएपी प्रमाण पत्र के लिए पूर्ण पहुंच को सक्रिय करें।



अब हमारे पास HTTPS ट्रैफ़िक देखने की क्षमता है। JSON, दुर्भाग्य से, यहां सुंदर स्वरूपण नहीं है और अभी तक हम इस स्थिति को ठीक करने में सक्षम नहीं हैं, चरम मामलों में, आप तीसरे पक्ष के JSON फॉर्मैटर का उपयोग कर सकते हैं, उदाहरण के लिए यह एक



OWASP ZAP वेबसोकेट प्रोटोकॉल का समर्थन करता है। Websocket संदेशों को एक विशेष टैब WebSockets में पाया जा सकता है, डोमेन द्वारा फ़िल्टर करने के लिए "चैनल" का चयन करना भी सुविधाजनक है।



एसएसएल पिनिंग


यदि आपके आवेदन में SSL पिनिंग लागू है, तो आप अनुमानित अनुप्रयोग ट्रैफ़िक नहीं देखेंगे, क्योंकि प्रॉक्सी SSL के लिए अपने प्रमाणपत्र का उपयोग करता है, इस मामले में 4 विकल्प हैं:


  1. प्रॉक्सी का उपयोग करके नेटवर्क अनुरोध डीबग करते समय SSL पिनिंग को अस्थायी रूप से अक्षम करें।
  2. डिबग सर्टिफिकेट के लिए एक प्रॉक्सी सर्टिफिकेट / सार्वजनिक कुंजी / डिबग बिल्ड के लिए कुंजी जोड़ें।
  3. प्रॉक्सी के लिए अपने सर्वर प्रमाण पत्र का उपयोग करें इसके बजाय स्वयं के प्रमाण पत्र से उत्पन्न।
  4. बाहरी प्रॉक्सी का उपयोग करने के बजाय, डिबगिंग फ्रेमवर्क का उपयोग करें (फ्रेमवर्क की सूची लेख के बहुत शुरुआत में इंगित की गई है), जो सीधे आवेदन में सीधे अनुरोध और उत्तर दिखाएगा, लेकिन इसके लिए मौजूदा एप्लिकेशन स्रोत कोड में एकीकरण की आवश्यकता है, अगले लेख में इन उपकरणों से अधिक।

परिणाम


चलो चार्ल्स के साथ शुरू करते हैं। शायद उन लोगों के लिए सबसे अच्छा प्रॉक्सी जो सब कुछ बॉक्स से बाहर काम करना चाहते हैं और जितना संभव हो उतना उपयोगकर्ता के अनुकूल हो सकते हैं, हालांकि चार्ल्स कुछ बिंदुओं पर उपयोगकर्ता को आश्चर्यचकित कर सकते हैं, प्रॉक्सी की कार्यक्षमता बहुत व्यापक है, यह आलेख में वर्णित सभी के लिए macOS के लिए सबसे सुंदर और देशी इंटरफ़ेस भी है। प्रॉक्सी। यदि आप इस तरह के एक साधन के लिए $ 50 डालने का मन नहीं करते हैं, तो यह आपकी पसंद है।


चलो बर्प सूट पर चलते हैं। एक निश्चित कार्यक्षमता और यहां तक ​​कि उपयोग में आसानी के अनुसार सबसे शक्तिशाली उपकरण, कुछ मामलों में आसानी से चार्ल्स ऑड्स देता है, इसके अलावा प्लग-इन के रूप में कार्यक्षमता का विस्तार करने के लिए एक प्रणाली है। बर्प सूट ने लंबे समय तक खुद को सही हाथों में एक बहुत विश्वसनीय और सटीक उपकरण के रूप में स्थापित किया है। यदि आपको अपने वर्तमान प्रॉक्सी की कार्यक्षमता की कमी है, तो मैं आपको इस उदाहरण पर ध्यान देने की सलाह देता हूं।


अब मित्प्रॉक्सी की बारी है - एक युवा और होनहार प्रॉक्सी, सक्रिय रूप से लोकप्रियता हासिल कर रही है, जिसे ओपन सोर्स समुदाय द्वारा विकसित किया जा रहा है। सबसे अधिक विवादास्पद है कि हम देखते थे, लेकिन एक ही समय में कम दिलचस्प नहीं है। मितप्रोक्सी अपने प्रतिद्वंद्वियों से अपने सुविधाजनक, सरल और कार्यात्मक कंसोल यूआई द्वारा बाहर खड़ा है। मितम्वेब वेब इंटरफ़ेस का उपयोग करना भी संभव है, लेकिन यह अब बीटा परीक्षण में है जिसके कारण यह दुर्लभ है, लेकिन बग दिखाई देते हैं, उन्नत मित्प्रॉक्सी कार्यक्षमता का कोई हिस्सा नहीं है (यह धीरे-धीरे पूरा हो रहा है), और यह अधिक मूल प्रतियोगियों के लिए सुविधा में थोड़ा अवर भी है। वेबसॉकेट प्रोटोकॉल के लिए समर्थन भी निराशाजनक था, क्योंकि यह था, लेकिन यूआई में कोई प्रदर्शन नहीं है या हमने इसे तैयार करने का तरीका नहीं सीखा, क्योंकि हम वेबसैट संदेशों को प्रदर्शित करने के लिए मित्प्रॉक्सी नहीं प्राप्त कर सकते थे, हालांकि हमें अन्य प्रॉक्सी के साथ ऐसी समस्याएं नहीं हैं।


और सूची में अंतिम, लेकिन कोई भी कम दिलचस्प ओवस्प जेडएपी नहीं था। प्लसस में, एक विस्तार योग्य प्लग-इन सिस्टम है (विषयवस्तु, उनकी संख्या बर्प सूट की तुलना में कम है), लेकिन दुर्भाग्य से हम अनुरोध / प्रतिक्रिया निकाय में एक सुंदर JSON डिस्प्ले को कॉन्फ़िगर करने में सक्षम नहीं थे, जो मोबाइल विकास के लिए एक प्रॉक्सी का चयन करते समय एक महत्वपूर्ण मानदंड है। हालाँकि, Owasp ZAP के पास Websocket ट्रैफ़िक के परीक्षण के लिए एक उन्नत प्रणाली है, साथ ही मेरे पीछे Owasp समुदाय डेवलपर्स का बड़ा नाम है, इसलिए मैं इसे छूट नहीं दूंगा और दुर्लभ और जटिल मामलों के लिए ध्यान में रखा था।


नीचे हमारे द्वारा विश्लेषण की गई प्रॉक्सी की एक व्यक्तिपरक सारांश तालिका है।


मानदंड / छद्मMitmproxyचार्ल्सबर्पसुइट (CE)ओवस्प जप
JSON प्रारूपण+++-
संपादन और दोहराव क्वेरी++++
Websocket समर्थन-+++
मुफ्त सॉफ्टवेयर+-++

हम यहां समाप्त हो जाएंगे, हमें उम्मीद है कि लेख उपयोगी होगा, हमें टिप्पणी करने में भी खुशी होगी और यदि आप मोबाइल एप्लिकेशन के ट्रैफ़िक के परीक्षण और निगरानी के क्षेत्र में अपना अनुभव साझा करते हैं।

Source: https://habr.com/ru/post/hi421493/


All Articles