
Android और iOS HTTP/HTTPS ट्रैफ़िक को Charles Proxy के साथ इंटरसेप्ट करने के लिए चरण-दर-चरण मार्गदर्शिका, जिसमें SSL प्रॉक्सीिंग, CA प्रमाणपत्र इंस्टॉलेशन और ट्रस्ट सेटिंग्स शामिल हैं।
मोबाइल हैकर्स के लिए Charles Proxy की गाइड 👍
Charles एक HTTP प्रॉक्सी / HTTP मॉनिटर / रिवर्स प्रॉक्सी है जो डेवलपर को उनकी मशीन और इंटरनेट के बीच होने वाले सभी HTTP और SSL / HTTPS ट्रैफ़िक को देखने में सक्षम बनाता है। इसमें रिक्वेस्ट, रिस्पॉन्स और HTTP हेडर (जिनमें कुकीज़ और कैशिंग जानकारी होती है) शामिल हैं।
Charles -> Proxy -> SSL Proxying Settings... -> SSL Proxying
Charles -> Help -> SSL Proxying -> Install Charles Root Certificate
वह IP address प्राप्त करें जिस पर Charles सुन रहा है
ifconfig | tr "\n" "→" | tr "\r" "→" | grep -Eo "→en0.*?→en[[:digit:]]" | grep -Eo "inet[[:blank:]+]([0-9]{1,3}\.){3}[0-9]{1,3}" | cut -d' ' -f2 | tr -d "\n" | pbcopy && pbpaste
ifconfig | tr "\n" "→" | tr "\r" "→" | grep -Eo "→en[[:digit:]].*?active→" | grep -v "en0" | grep -Eo "inet[[:blank:]+]([0-9]{1,3}\.){3}[0-9]{1,3}" | cut -d' ' -f2 | tr -d "\n" | pbcopy && pbpaste
Charles लॉन्च करें और इसे चलता रहने दें
IP address प्राप्त करें
सुनिश्चित करें कि Android डिवाइस Charles के समान नेटवर्क का उपयोग करता है
Android डिवाइस पर
Settings -> Wi-Fi पर जाएं -> उपयोग में लाए जा रहे network पर लंबा क्लिक करें -> Modify network -> Advanced options -> Proxy -> Manual
Browser लॉन्च करें, https://chls.pro/ssl पर जाएं, सर्टिफ़िकेट सहेजें
कंप्यूटर पर एक डायलॉग पॉप अप होता है जिसमें पूछा जाता है "A connection attempt to Charles has been made from the host ...", बस Allow बटन पर क्लिक करें
<?xml version="1.0" encoding="utf-8"?>
<network-security-config xmlns:android="http://schemas.android.com/apk/res/android">
<debug-overrides>
<trust-anchors>
<!-- Trust user added CAs while debuggable only -->
<certificates src="user" />
</trust-anchors>
</debug-overrides>
</network-security-config>
application के अंतर्गत networkSecurityConfig एट्रिब्यूट जोड़ें।
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<application
android:networkSecurityConfig="@xml/network_security_config">
</application>
</manifest>
अब SSL प्रॉक्सीिंग आपके ऐप के debug बिल्ड वेरिएंट के लिए काम करनी चाहिए, लेकिन release बिल्ड वेरिएंट के लिए नहीं।
Charles लॉन्च करें और इसे चलता रहने दें
IP address प्राप्त करें
सुनिश्चित करें कि iOS डिवाइस Charles के समान नेटवर्क का उपयोग करता है
iOS डिवाइस पर
Settings -> Wi-Fi पर जाएँ -> उपयोग में लाए जा रहे network पर क्लिक करें -> HTTP PROXY को Manual पर सेट करें
Safari लॉन्च करें, https://chls.pro/ssl पर जाएँ (यदि यह काम न करे, तो http://www.charlesproxy.com/getssl आज़माएँ), प्रमाणपत्र इंस्टॉल करें
कंप्यूटर पर एक डायलॉग पॉप अप होता है जिसमें पूछा जाता है "A connection attempt to Charles has been made from the host ...", बस Allow बटन पर क्लिक करें
यदि आपको टर्मिनल में curl के माध्यम से डीबग करने की आवश्यकता हो:
Charles को प्रॉक्सी के रूप में सेट करने के लिए
export http_proxy=http://127.0.0.1:8888 && export https_proxy=$http_proxy
प्रॉक्सी हटाने के लिए
unset http_proxy https_proxy