कैसे एक HTTP प्रतिक्रिया के "हिस्सा" को बचाने के लिए?


0

मैं एक http प्रतिक्रिया के "विखंडू" को बचाना चाहता हूं, अधिमानतः कर्ल या कुछ अन्य मुफ्त कमांड लाइन टूल का उपयोग कर रहा हूं जो मैक या लिनक्स पर काम करता है, लेकिन मैं किसी भी प्रकार के समाधान के लिए खुला हूं।

इसलिए उदाहरण के लिए, यदि 10 चंक्स में एक प्रतिक्रिया भेजी जा रही है, तो मैं उन चंदों में से हर एक को एक अलग फाइल में सहेजना चाहूंगा chunk1.txt->chunk10.txt

और निश्चित रूप से यदि एक फ़ाइल को एक ही चंक में भेजा जा रहा है, तो फ़ाइल एक ही फ़ाइल में सहेजी जाएगी।

मैं कर्ल या किसी अन्य उपकरण का उपयोग करके http प्रतिक्रिया का हिस्सा कैसे बचा सकता हूं?

संपादित करें: मैं यह देखना चाहता हूँ कि Transfer-Encoding: chunked1-एन विखंडू परोसने के लिए यह देखना है, और Content-Length:XXXएक प्रतिक्रिया भेज रहा है। और उन्हें एक फ़ाइल में सहेजना गैर-जरूरी है, मुझे लगता है। यदि यह स्पष्ट रूप से एक फ़ाइल में नोट किया गया है कि प्रत्येक हिस्सा क्या है, तो यह बहुत अच्छा है!


यदि ट्रांसफ़र-एन्कोडिंग "chunked" करने के लिए सेट नहीं किया गया है, तो कोई हिस्सा नहीं हैं ...
ग्रैविटी

हाँ, यही मैं उम्मीद कर रहा हूँ - मैं इसे सचमुच "देखना" चाहूँगा। यानी एक स्क्रिप्ट को एक समापन बिंदु के विरुद्ध चलाने में सक्षम होना चाहिए, जिसमें एक Transfer-Encoding: chunkedसे अधिक चंक्स हों, और एक समापन बिंदु के खिलाफ Content-Length:XXXऔर एक एकल हिस्सा हो।
ब्रैड पार्क्स

आप शायद इसके लिए कुछ कोडिंग करना चाहते हैं। आप किन भाषाओं से परिचित हैं?
jdwolf

यह मुझे लगता है कि वहाँ कुछ उपकरण होना चाहिए जो पहले से ही ऐसा करता है, अधिमानतः एक कमांड लाइन उपकरण। मुझे लगता है कि अगर जरूरत पड़ी तो मैं इसे कोड कर सकता हूं, लेकिन मुझे लगता है कि कर्ल यह करने में सक्षम होगा, हालांकि मैंने कुछ स्विच करने की कोशिश की, --rawऔर -Nयह प्रासंगिक लग रहा था, लेकिन उन्होंने काम नहीं किया।
ब्रैड पार्क

संभवतः सहायक: unix.stackexchange.com/questions/29402/…
rahuldottech

जवाबों:


3

tcpdump, Wireshark और अन्य समान उपयोगिताओं को रेखांकित करता है और एक कमांड लाइन इंटरफ़ेस है जो कि आप जो चाहते हैं उसे पूरा कर सकते हैं। एक कमांड के समान:

tcpdump -A -i en0 src XXX.YYY.ZZZ.AAA and port 80

XXX.YYY.ZZZ.AAAपोर्ट से सभी कच्चे पैकेट को सांत्वना के लिए डंप करेगा 80जो गुजरता है en0। आप -i en0किसी भी इंटरफ़ेस के लिए समाप्त कर सकते हैं और अभिव्यक्ति काफी विन्यास योग्य है।

आप कुछ अच्छे उदाहरण tecmint.com और danielmiessler.com पा सकते हैं ।

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

[क्लेरीफिकेशन] आप curlउसी समय एक अलग टर्मिनल में चलेंगे जब आप पैकेट कैप्चर कर रहे थे।

[जोड़] Wireshark और http chunking की चर्चा भी है जो उपयोगी हो सकती है। और यह Reassemble pcap के निशान http स्तर के डेटा प्रश्न को पुनर्प्राप्त करने के लिए Bro का उपयोग करके कैप्चर को फिर से पार्स करने का एक स्वीकृत समाधान है ।


-1

आप एक उपयोगिता जैसे कि विंडसरक का उपयोग कर सकते हैं , जो आमतौर पर लिनक्स पर एक मानक पैकेज है।

Wireshark सभी टीसीपी / आईपी प्रोटोकॉल स्तरों पर संदेशों और प्रोटोकॉल के गहन निरीक्षण की अनुमति देता है और कई परिष्कृत उपकरणों की आपूर्ति करता है।

आप Wireshark के साथ संदेश बाइट-स्ट्रीम प्रदर्शित कर सकते हैं या प्रोटोकॉल स्तर पर जा सकते हैं और अमूर्त के उच्च स्तर प्रदर्शित कर सकते हैं।

जिस भाग में आप रुचि रखते हैं, उसे पैकेट रीअसर्म्स कहा जाता है , जिसे निम्न रूप में वर्णित किया गया है:

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

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

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

Reassembly कई प्रोटोकॉल परतों पर हो सकता है, इसलिए यह संभव है कि "पैकेट बाइट्स" फलक में कई टैब दिखाई दें।

एक बार जब आप विखंडू देख सकते हैं तो आप उन्हें निर्यात भी कर सकते हैं।

यहाँ एक आश्वस्त टैब के साथ "पैकेट बाइट्स" फलक का एक उदाहरण दिया गया है:

छवि


कोई भी व्यक्ति वाइरसार्क जैसी परिष्कृत उपयोगिता को कम क्यों करेगा। tcpdump द्वारा कच्चे बाइट-डंप करना पसंद करते हैं, जो कि चोंट निकालने के लिए प्रोटोकॉल के बहुत महीन बिंदुओं को जानने की आवश्यकता होती है? जाओ पता लगाओ।
हार्मीक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.