छोटे लोगों के एक सेट में एक pcap फ़ाइल को कैसे विभाजित किया जाए


47

मेरे पास एक बहुत बड़ी pcap फाइल है (tcpdump द्वारा उत्पन्न)। जब मैं इसे वायरशार्क में खोलने की कोशिश करता हूं, तो प्रोग्राम अप्रतिसादी हो जाता है। क्या एक फ़ाइल को एक-एक करके खोलने के लिए छोटे लोगों के सेट में विभाजित करने का एक तरीका है? किसी फ़ाइल में कैप्चर किया गया ट्रैफ़िक दो सर्वरों पर दो प्रोग्राम द्वारा उत्पन्न होता है, इसलिए मैं tcpdump 'host' या 'port' फ़िल्टर का उपयोग करके फ़ाइल को विभाजित नहीं कर सकता। मैंने भी linux 'स्प्लिट' कमांड की कोशिश की है :-) लेकिन बिना किस्मत के। Wireshark प्रारूप को नहीं पहचान सकेगा।


कितना बड़ा है? क्या यह उपलब्ध रैम से बहुत बड़ा है?
पीहर

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

जवाबों:


72

आप स्वयं के -C, -r और -w विकल्पों के साथ tcpdump का उपयोग कर सकते हैं

tcpdump -r old_file -w new_files -C 10

"-सी" विकल्प फ़ाइल के आकार को विभाजित करने के लिए निर्दिष्ट करता है। उदाहरण: उपरोक्त मामले में नई फाइलों का आकार 10 मिलियन बाइट्स होगा।


आप एक अद्भुत मानव हैं, दान।
लोबी

क्या एक सत्र को अलग किए बिना ऐसा करने का कोई तरीका है? (मान लें कि एकल सत्र आकार सीमा तर्क से छोटा है)।
१५:०५ में स्पेनिश

क्विक: tcpdump -r old_file -w new_files -C 1000 रिकॉर्ड किए गए ट्रैफ़िक के हर 955MB पर विभाजन
gies0r

18

उस editcapउपयोगिता का उपयोग करें जो विर्सार्क के साथ वितरित की जाती है।


5
editpcap -c 1000 input.pcap output.pcapinput.pcapप्रति कैप्चर अधिकतम 1000 पैकेट के साथ कैप्चर में विभाजित होगा । आउटपुट एकाधिक कैप्चर की गई फाइलें output_{index}_{timestamp}.pcap
होंगी

1
उदाहरण के लिए धन्यवाद! लेकिन यह सिर्फ editcap, नहीं editpcap, सही है?
lindhe

3

मुझे पता है कि यह उत्तर थोड़ा देर से है, लेकिन यह अन्य लोगों की भी सेवा कर सकता है। मुझे Pcap फ़ाइलों को विभाजित करने के लिए एक महान उपकरण मिला: PcapSplitter । यह PcapPlusPlus लाइब्रेरी का हिस्सा है, जिसका अर्थ है कि यह क्रॉस-प्लेटफ़ॉर्म (Win32, Linux और Mac OS) है, और यह अलग-अलग मानदंडों के आधार पर pcap फ़ाइलों को विभाजित कर सकता है जैसे फ़ाइल आकार (आपको क्या चाहिए) लेकिन कनेक्शन, क्लाइंट / सर्वर द्वारा भी आईपी, सर्वर पोर्ट (प्रोटोकॉल के समान), पैकेट गिनती, आदि। मुझे यह बहुत उपयोगी लगा। उपरोक्त लिंक स्रोत कोड के लिए है, लेकिन यदि आप नहीं चाहते / जानते हैं कि कैसे संकलित करना है, तो मैंने कई प्लेटफार्मों के लिए संकलित बायनेरिज़ बनाई हैं जिनके साथ मैं इस टूल का उपयोग कर रहा हूं। मैं इस उपकरण की बहुत सलाह देता हूं

संपादित करें: जाहिरा तौर पर PcapPlusPlus का एक नया संस्करण जारी किया गया था और इसमें बहुत सारे प्लेटफार्मों (विंडोज, उबंटू 12.04 / 14.04, मैक OSX Mavericks / Yosemite / El Captian) के लिए PcapSplitter बायनेरी शामिल हैं। मुझे लगता है कि मेरे द्वारा पहले दिए गए लिंक की तुलना में इन बायनेरिज़ का उपयोग करना बेहतर है। आप इसे यहाँ पा सकते हैं


2

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

आप Netresec ब्लॉग पर SplitCap के बारे में अधिक पढ़ सकते हैं: http://www.netresec.com/?page=Blog&month=2011-05&post=Split-or-filter-your-PCAP-files-with-SplitCap

यहाँ से SplitCap डाउनलोड करें: http://www.netresec.com/?page=SplitCap

सौभाग्य!


क्या कोई लिनक्स संस्करण हैं?
9

यह एक अच्छा कार्यक्रम है, इसे रखो pcapng फ़ाइलों के साथ काम करने की क्षमता का अभाव है।
गुंटराम ब्लोहम

0
tcpdump -w trace.pcap -W 48 -G 300 -C 100 -i any port 41110
  • -G 300 यह 5 मिनट में घूम जाएगा
  • -W 48 फाइलों की गिनती
  • -C 100 फ़ाइल का आकार 100 एमबी
  • port आप अनुप्रयोग के आधार पर पोर्ट निर्दिष्ट कर सकते हैं
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.