HTTP और HTTPS ब्राउज़र ट्रैफ़िक लॉग करें, बाद वाले को डिक्रिप्ट करना


14

क्या कोई ऐसा तरीका है जिससे मैं अपने कंप्यूटर पर फ़ाइलों के लिए सभी HTTP और HTTPS ब्राउज़र संचार (अनुरोध, प्रतिक्रिया, पूर्ण हेडर और बॉडी सहित) बचा सकता हूं?

HTTPS संचार को डिक्रिप्ट होने से बचाया जाना चाहिए।

आदर्श रूप से मैं फ़ायरफ़ॉक्स या Google क्रोम के लिए एक एक्सटेंशन की तरह देख रहा हूँ।

यह लिनक्स पर काम करना चाहिए।

जवाबों:


4

HAR HTTP आर्काइव है, और वास्तव में आप क्या सहेजना चाहते हैं (इसमें HTTPS अनएन्क्रिप्टेड शामिल है)।

सौभाग्य से यह अब सभी प्रमुख ब्राउज़र की एक मूल विशेषता है (यह तब नहीं था जब आपने प्रश्न पूछा था)। थर्ड पार्टी एक्सटेंशन की ज्यादा जरूरत नहीं है।

फ़ायरफ़ॉक्स में (v41 +):

  • नेटवर्क मोड में फ़ायरफ़ॉक्स डेवलपर टूल शुरू करें (शीर्ष दाएं मेनू> डेवलपर> नेटवर्क, या ctrl-shift-Q)
  • लक्ष्य परिदृश्य पुन: पेश करें
  • ग्रिड पर राइट-क्लिक करके कैप्चर सहेजें और "सभी के रूप में सहेजें" चुनें
  • कैप्चर को हर फ़ाइल में निर्यात करें

अन्य ब्राउज़र:

सभी ब्राउज़र के हालिया संस्करण में, आप HAR को आसानी से सहेज सकते हैं:

https://toolbox.googleapps.com/apps/har_analyzer/


6

HTTPFox एक फ़ायरफ़ॉक्स एक्सटेंशन है जो काम करेगा।

=== संपादित ===

अनुरोध पैनल पर राइट क्लिक करें और "सभी पंक्तियों को कॉपी करें" पर क्लिक करें। फिर आप इसे अपने पसंदीदा संपादक के लिए कभी भी सहेज सकते हैं - उदाहरण के लिए ओपनऑफ़िस स्प्रेडशीट। कृपया मेरे द्वारा प्रदान की गई छवि देखें।

उत्तर


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

मुझे ऐसा लगता है, मुख्य मेरे उत्तर का संपादन देखें।
स्लटिशटाइप

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

@ मेरा बुरा करता है। बस इतना ही देखा। जब तक आप फ़ायरफ़ॉक्स के बाहर किसी चीज को इंट्रस्ट नहीं करते, मुझे दूसरे टूल का पता नहीं होता है। सौभाग्य
स्लॉट

FYI करें HttpFox में एक सामग्री टैब है जहाँ मैं प्रतिक्रिया निकाय देख सकता हूँ - कुछ अनुरोधों को छोड़कर, जिसके लिए यह कहता है Error loading content (NS_ERROR_DOCUMENT_NOT_CACHED)। लेकिन मुझे सभी अनुरोधों के जवाब की आवश्यकता है, इसलिए HttpFox इस समस्या का समाधान नहीं हो सकता है।
अंक

3

फ़िडलर निश्चित रूप से एक ऐसी चीज़ है जिस पर आपको विचार करना चाहिए, भले ही वह कोई एक्सटेंशन न हो लेकिन एक अलग एप्लिकेशन है।


1
क्षमा करें, फ़िडलर मेरे लिए काम नहीं करता है। क्योंकि इसके लिए Microsoft Windows की आवश्यकता है। मेरे पास उबंटू है। एक ब्राउज़र एक्सटेंशन, जैसा कि मैंने मूल रूप से पूछा था, संभवतः कई ऑपरेटिंग सिस्टम पर काम करेगा।
अंक

3

मुझे यह उत्तर ऐसा करने के लिए मिल गया, और यहाँ कोई भी उत्तर मुझे अनुकूल नहीं मिला क्योंकि मुझे ओटी की तरह एचटीटीपीएस प्रतिक्रिया निकायों को डंप करने की आवश्यकता थी। इसलिए, उन लोगों के लिए जो मुझे पसंद करते हैं।

मैं अंततः मिटम्पॉक्सी पर उतरा , जो फ़ायरफ़ॉक्स एक्सटेंशन नहीं है, लेकिन सभी फ़ायरफ़ॉक्स ट्रैफ़िक को लॉग करने के लक्ष्य को पूरा करता है। यह सब अजगर है, इसलिए मैंने इसे स्थापित किया है pip install mitmproxy- यदि आप चाहें तो एक पैकेज की मेज का उपयोग करें।

mitmproxyआरंभिक सेटअप / डिबगिंग के लिए इसे शुरू किया , और फिर mitmdumpएक बार धारा को डंप करने के लिए इस्तेमाल किया जब मैंने इसे काम किया और परिष्कृत किया।

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

अनएन्क्रिप्टेड रिस्पांस बॉडी को डंप करने के लिए, मुझे एक बहुत ही सरल इनलाइन स्क्रिप्ट का उपयोग करना पड़ा :

from libmproxy.model import decoded

def response(context, flow):
    with decoded(flow.response):  # automatically decode gzipped responses.
        with open("body.txt","ab") as f:
            f.write(flow.response.content)

यहाँ पर डाउनलोड करें - इसे डाउनलोड save_response.pyकरें और इसके साथ प्रयोग करें mitmdump -s save_response.py। रिस्पांस बॉडी में जमा होना शुरू हो जाएगा body.txt

मितप्रोक्सी में कई उपयोगी फिल्टर भी होते हैं जिन्हें आप मितमपम्प को निर्दिष्ट करने के लिए निर्दिष्ट कर सकते हैं कि आपको क्या चाहिए।


2

httpFox, httpScoop (केवल मैक) और httpWatch (IE, फ़ायरफ़ॉक्स, विंडोज़ केवल) सभी उपकरण हैं जो मैं इसे करने के लिए उपयोग करता हूं। इसके अतिरिक्त आप फिडलर (जैसा कि पहले से सुझाया गया है) की कोशिश कर सकते हैं और यह भी कि अगर यूओएआई एक मैक का उपयोग कर रहा है, तो आप चार्ल्स प्रॉक्सी की कोशिश कर सकते हैं। मेरा व्यक्तिगत पसंदीदा httpWatch है (आप हेडर, कंटेंट, यूआरएल आदि पर आसानी से फ़िल्टर कर सकते हैं), लेकिन यह महंगा है इसलिए यह एक विकल्प नहीं हो सकता है।

आप HAR प्रोजेक्ट को भी देखना चाहते हैं (HAR का अर्थ HTTP संग्रह है), HTTP लेनदेन, हेडर, कंटेंट आदि को रिकॉर्ड करने के लिए एक मानक आधारित दृष्टिकोण है। उल्लिखित कई टूल आपको उसका उपयोग करके देखने के लिए HAR फ़ाइलों को निर्यात करने में सक्षम हैं। हर व्यूअर (जिसे आप फायरबग में झरने की विशेषता पर गौर करेंगे तो परिचित होंगे)। वास्तव में, आप Netbport का उपयोग करके इन फ़ाइलों / लॉग को उत्पन्न करने के लिए Firebug का उपयोग कर सकते हैं।

FWIW httpScoop एक वायरलेस नेटवर्क पर HTTP ट्रैफ़िक को डीबग करने / ट्रेस करने के लिए एक अच्छा तरीका है, मैंने कुछ समय पहले ऐसा करने के बारे में एक लेख लिखा था: http://blog.adtools.co.uk/trace-debug-mobile-application-http- अनुरोध का उपयोग-MacOS /


आप जिन उपकरणों का उल्लेख करते हैं, वे डिस्क पर सभी लॉग संचार के एक डंप को बचा सकते हैं? httpFox नहीं कर सकता। httpScoop मैक-ओनली है, और मैं लिनक्स समाधान के लिए कह रहा था। httpWatch केवल Windows है, और मैं लिनक्स समाधान के लिए पूछ रहा था। Fiddler केवल Windows है, और मैं लिनक्स समाधान के लिए पूछ रहा था। चार्ल्स प्रॉक्सी मैक-ही है, और मैं एक लिनक्स समाधान के लिए पूछ रहा था। फायरबग + नेटएक्सपोर्ट का उल्लेख करने के लिए धन्यवाद, जो संभावित रूप से काम कर सकता है।
pts

फायरबग + नेटएक्सपोर्ट लिनक्स पर मेरे लिए एक आकर्षण की तरह काम करते हैं। वे SSL ट्रैफ़िक को अनएन्क्रिप्टेड (जैसे मैं चाहूँ) निर्यात करते हैं। मुझे आपका उत्तर स्वीकार करने में खुशी होगी, लेकिन कृपया पहले अन्य सभी प्रस्तावों को हटा दें (या उन्हें अलग उत्तर में ले जाएं)।
अंक

1

Wireshark का उपयोग HTTP प्रोटोकॉल लेयर में मौजूद चीजों सहित नेटवर्क पैकेट को पकड़ने और उन्हें आपके कंप्यूटर पर सहेजने के लिए किया जा सकता है। यह https जानकारी भी कैप्चर कर सकता है, लेकिन मुझे संदेह है कि आप कुछ भी डिक्रिप्ट करने के लिए इसे कॉन्फ़िगर कर पाएंगे।


1
Wireshark को सुझाव देने के लिए धन्यवाद, लेकिन यह मेरे प्रश्न के उत्तर के रूप में बेकार है, क्योंकि यह HTTPS स्ट्रीम को डिक्रिप्ट किए गए को सेव नहीं करता है।
अंक

2
यदि आपके पास निजी सर्वर प्रमाणपत्र है, तो Wireshark अंतिम ट्रैफ़िक में से SSL ट्रैफ़िक को डिक्रिप्ट कर सकता है ।
cweiske

1
मेरे पास निजी सर्वर प्रमाणपत्र नहीं है।
अंक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.