วิธีแบ่งไฟล์ pcap ออกเป็นชุดเล็ก ๆ


47

ฉันมีไฟล์ pcap ขนาดใหญ่ (สร้างโดย tcpdump) เมื่อฉันพยายามที่จะเปิดมันใน wireshark โปรแกรมก็ไม่ตอบสนอง มีวิธีแบ่งไฟล์เป็นชุดเล็ก ๆ เพื่อเปิดทีละไฟล์หรือไม่ ทราฟฟิกที่บันทึกในไฟล์นั้นถูกสร้างขึ้นโดยสองโปรแกรมบนเซิร์ฟเวอร์สองเครื่องดังนั้นฉันไม่สามารถแยกไฟล์โดยใช้ตัวกรอง 'โฮสต์' หรือ 'พอร์ต' ของ tcpdump ฉันยังลองใช้คำสั่ง 'แยก' ของ linux :-) แต่ก็ไม่มีโชค Wireshark จะไม่รู้จักรูปแบบ


ใหญ่แค่ไหน? มันใหญ่กว่า RAM ที่ใช้ประโยชน์ได้หรือไม่?
pehrs

2
ช้าไปหน่อย แต่เหตุผล Wireshark จะไม่อ่านไฟล์ที่เป็นผลลัพธ์splitเพราะการแยกจะแบ่งตามขอบเขตไบต์ที่แน่นอน นี่มีแนวโน้มสูงที่จะแยกแพ็คเก็ตซึ่งทำให้เนื้อหาไฟล์บางส่วนใช้การไม่ได้
Burhan Ali

คำตอบ:


72

คุณสามารถใช้ tcpdump ด้วยตัวเลือก -C, -r และ -w

tcpdump -r old_file -w new_files -C 10

ตัวเลือก "-C" ระบุขนาดของไฟล์ที่จะแบ่งออกเป็น เช่นในกรณีข้างต้นไฟล์ใหม่จะมีขนาด 10 ล้านไบต์ต่อไฟล์


คุณเป็นมนุษย์ที่น่าทึ่งแดน
lobi

มีวิธีทำโดยไม่ทำลายเซสชันหรือไม่ (สมมติว่าเซสชันเดียวมีขนาดเล็กกว่าอาร์กิวเมนต์ จำกัด ขนาด)
spanishgum

ด่วน: tcpdump -r old_file -w new_files -C 1000 แยกทุก 955MB ของปริมาณข้อมูลที่บันทึกไว้
gies0r

18

ใช้editcapยูทิลิตี้ที่แจกจ่ายกับ Wireshark


5
editpcap -c 1000 input.pcap output.pcapจะแบ่งออกinput.pcapเป็นการจับกุมที่มีมากถึง 1,000 แพ็คเก็ตต่อการจับ ผลลัพธ์จะเป็นไฟล์จับภาพหลายรูปแบบเช่นoutput_{index}_{timestamp}.pcap
blachniet

1
ขอบคุณสำหรับตัวอย่าง blachniet! แต่มันก็เป็นเพียงแค่editcapไม่ได้editpcapใช่มั้ย?
lindhe

3

ฉันรู้ว่าคำตอบนี้ช้าไปหน่อย แต่ก็อาจให้บริการคนอื่นเช่นกัน ผมพบว่าเครื่องมือที่ดีสำหรับการแยกไฟล์ pcap: PcapSplitter มันเป็นส่วนหนึ่งของไลบรารีPcapPlusPlusซึ่งหมายความว่ามันเป็นแพลตฟอร์มข้าม (Win32, Linux และ Mac OS) และสามารถแยกไฟล์ pcap ตามเกณฑ์ที่แตกต่างกันเช่นขนาดไฟล์ (สิ่งที่คุณต้องการ) แต่โดยการเชื่อมต่อไคลเอนต์ / เซิร์ฟเวอร์ IP, พอร์ตเซิร์ฟเวอร์ (คล้ายกับโพรโทคอล), จำนวนแพ็กเก็ต, ฯลฯ ฉันพบว่ามันมีประโยชน์มาก ลิงค์ด้านบนมีไว้สำหรับซอร์สโค้ด แต่ถ้าคุณไม่ต้องการ / รู้วิธีการคอมไพล์ฉันสร้างไบนารีที่คอมไพล์แล้วสำหรับหลายแพลตฟอร์มที่ฉันใช้เครื่องมือนี้ด้วย ฉันแนะนำเครื่องมือนี้เป็นอย่างมาก

แก้ไข:เห็นได้ชัดว่าเวอร์ชั่นใหม่ของ PcapPlusPlus ได้รับการปล่อยตัวและประกอบด้วย PcapSplitter ไบนารีสำหรับแพลตฟอร์มจำนวนมาก (Windows, Ubuntu 12.04 / 14.04, Mac OSX Mavericks / Yosemite / El Captian) ฉันคิดว่าการใช้ไบนารีเหล่านี้ดีกว่าลิงก์ที่ฉันให้ไว้ก่อนหน้านี้ คุณสามารถค้นหาได้ที่นี่


2

วิธีที่ดีที่สุดและรวดเร็วที่สุดคือการใช้ SplitCap ซึ่งสามารถแยกไฟล์การถ่ายโอนข้อมูลขนาดใหญ่ตามเซสชัน วิธีนี้คุณจะได้รับแต่ละเซสชัน TCP ในไฟล์ PCAP แยกต่างหาก SplitCap ยังสามารถแยกแพ็คเก็ตเป็นไฟล์ pcap ตามที่อยู่ IP

คุณสามารถอ่านเพิ่มเติมเกี่ยวกับ SplitCap ได้ที่บล็อก Netresec: 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

โชคดี!


มี linux รุ่นใดบ้าง?
ychaouche

นี่เป็นโปรแกรมที่ดีวางมันขาดความสามารถในการทำงานกับไฟล์ pcapng
Guntram Blohm รองรับโมนิก้า

0
tcpdump -w trace.pcap -W 48 -G 300 -C 100 -i any port 41110
  • -G 300 มันจะหมุนใน 5 นาที
  • -W 48 จำนวนไฟล์
  • -C 100 ขนาดไฟล์ 100 MB
  • port คุณสามารถระบุพอร์ตตามแอปพลิเคชัน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.