
macOS/iOS डिवाइस (जेलब्रोकन हो या न हो) पर डिक्रिप्ट किए गए HTTP/HTTPS ट्रैफ़िक को स्निफ़ करने के लिए सरल उपयोगिता
Apple के कम-प्रलेखित API में से एक द्वारा रिकॉर्ड किए गए HTTP/HTTPS डिक्रिप्टेड ट्रैफ़िक को स्निफ़ करने के लिए सरल शुद्ध python उपयोगिता।
python3 -m pip install -U harlogger
यह विधि Apple के CFNetwork प्रोफ़ाइल पर लागू होती है। यह प्रोफ़ाइल CFNetwork फ़्रेमवर्क का उपयोग करने वाली प्रक्रियाओं को डीबग करने के लिए है। इस विधि में request/response body शामिल नहीं है।
Apple का macOS के लिए CFNetwork प्रोफ़ाइल डाउनलोड करें:
इसे डबल-क्लिक करके इंस्टॉल करें
बस इतना ही! :) अब आप इसका उपयोग करके सब कुछ स्निफ़ करना शुरू कर सकते हैं:
python3 -m harlogger profile
यह विधि Apple के CFNetwork प्रोफ़ाइल पर लागू होती है। यह प्रोफ़ाइल CFNetwork फ़्रेमवर्क का उपयोग करने वाली प्रक्रियाओं को डीबग करने के लिए है। इस विधि में request/response body शामिल नहीं है।
Apple का iOS के लिए CFNetwork प्रोफ़ाइल डाउनलोड करें:
इसे अपनी पसंद के किसी भी तरीके से इंस्टॉल करें। मैं pymobiledevice3 का उपयोग कर रहा हूँ:
# if you don't already have it
python3 -m pip install -U pymobiledevice3
# install the profile
pymobiledevice3 profile install CFNetworkDiagnostics.mobileconfig
बस इतना ही! :) अब आप इसका उपयोग करके सब कुछ स्निफ़ करना शुरू कर सकते हैं:
python3 -m harlogger mobile profile
आउटपुट ऐसा दिखना चाहिए:
➜ harlogger git:(master) ✗ python3 -m harlogger profile
➡️️ POST https://www.bing.com/fd/ls/lsp.aspx HTTP/1.1
Accept: */*
Content-Type: text/xml
Origin: https://www.bing.com
Accept-Encoding: gzip, deflate, br
Cookie: SRCHHPGUSR=CW=414&CH=622&SW=414&SH=736&DPR=3&UTC=180&DM=1&SRCHLANG=en&HV=1634801804; _HPVN=CS=eyJQbiI6eyJDbiI6MiwiU3QiOjAsIlFzIjowLCJQcm9kIjoiUCJ9LCJTYyI6eyJDbiI6MiwiU3QiOjAsIlFzIjowLCJQcm9kIjoiSCJ9LCJReiI6eyJDbiI6MiwiU3QiOjAsIlFzIjowLCJQcm9kIjoiVCJ9LCJBcCI6dHJ1ZSwiTXV0ZSI6dHJ1ZSwiTGFkIjoiMjAyMS0xMC0yMVQwMDowMDowMFoiLCJJb3RkIjowLCJEZnQiOm51bGwsIk12cyI6MCwiRmx0IjowLCJJbXAiOjEwfQ==; SUID=M; _EDGE_S=SID=1BF42681120765EF1EA73656137A640E; _SS=SID=1BF42681120765EF1EA73656137A640E; MUID=1B0D347B85756FDD055524B284086E36; SRCHD=AF=NOFORM; SRCHUID=V=2&GUID=5B989717430E450D9314C927C97602C9&dmnchg=1; SRCHUSR=DOB=20211007; _EDGE_V=1; MUIDB=1B0D347B85756FDD055524B284086E36
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 14_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1 Mobile/15E148 Safari/604.1
Referer: https://www.bing.com/
Content-Length: 458
Accept-Language: en-us
⬅️ HTTP/2.0 204 (request POST https://www.bing.com/fd/ls/lsp.aspx HTTP/1.1)
x-msedge-ref: Ref A: E5B5AE34FBA148E6BDFFBF421B940462 Ref B: VIEEDGE1816 Ref C: 2021-10-21T07:36:44Z
Date: Thu, 21 Oct 2021 07:36:44 GMT
x-cache: CONFIG_NOCACHE
Access-Control-Allow-Origin: *
iOS 14.x डिवाइसेस में CFNetwork फ्रेमवर्क का उपयोग करके सभी प्रोसेस से डिक्रिप्टेड HTTP/HTTPS ट्रैफ़िक को HAR फ़ॉर्मेट में स्निफ़ करने की एक छिपी हुई सुविधा मौजूद है। जेलब्रोकन डिवाइस पर इस सुविधा को ट्रिगर करने के लिए, आप बस com.apple.CFNetwork के लिए सही कॉन्फ़िगरेशन रखें और com.apple.CFNetwork.har-capture-update नोटिफ़िकेशन को ट्रिगर करें।
इस विधि में request/response body भी शामिल होता है।
iOS 13.x या उससे नीचे के वर्ज़न में यह सुविधा नहीं है।
/var/mobile/Library/Preferences/ के अंदर रखेंpython3 -m harlogger preference
आउटपुट कुछ इस तरह दिखना चाहिए:
➜ harlogger git:(master) ✗ python3 -m harlogger mobile preference
➡️ CFNetwork(1140) POST https://www.bing.com/fd/ls/lsp.aspx
POST /fd/ls/lsp.aspx HTTP/2.0
Accept: */*
Content-Type: text/plain
Origin: https://www.bing.com
Cache-Control: max-age=0
Content-Length: 472
Accept-Language: en-us
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 14_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1 Mobile/15E148 Safari/604.1
Accept-Encoding: gzip, deflate, br
Referer: https://www.bing.com/
⬅️ CFNetwork(1140) 0
➡️ CFNetwork(1140) POST https://www.bing.com/fd/ls/lsp.aspx
POST /fd/ls/lsp.aspx HTTP/2.0
Accept: */*
Content-Type: text/xml
Origin: https://www.bing.com
Content-Length: 378
Accept-Language: en-us
Host: www.bing.com
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 14_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1 Mobile/15E148 Safari/604.1
Referer: https://www.bing.com/
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
<ClientInstRequest><Events><E><T>Event.ClientInst</T><IG>EB94C422BC394F90A876D39A790BECBC</IG><TS>1634801882467</TS><D><![CDATA[[{"T":"CI.BoxModel","FID":"CI","Name":"v2.8","SV":"4","P":{"C":1,"N":5,"I":"5iv","S":"V","M":"V+L+M+MT+E+N+C+K+BD","T":1669960,"F":0},"V":"zrpx/////////visible/+zryw/////////hidden/@p"}]]]></D></E></Events><STS>1634801882467</STS></ClientInstRequest>
iOS 15.0 से शुरू करते हुए, डिवाइस के लिए आवश्यक होगा कि लक्ष्य प्रक्रिया में निम्नलिखित में से कोई भी आवश्यकता हो:
com.apple.private.cfnetwork.har-capture-delegation एंटाइटलमेंटget-task-allow एंटाइटलमेंटcom.apple.security.get-task-allow एंटाइटलमेंटdebug मोड में होडिवाइस को HAR लॉगिंग सक्षम करने के लिए आप
pymobiledevice3 का उपयोग इस प्रकार कर सकते हैं:
python3 -m pymobiledevice3 developer dvt har
अब आप preference विधि का उपयोग करके स्निफ़िंग शुरू कर सकते हैं:
python3 -m harlogger preference