Làm thế nào để chia tập tin pcap thành một tập hợp nhỏ hơn


47

Tôi có một tệp pcap rất lớn (được tạo bởi tcpdump). Khi tôi cố gắng mở nó trong wireshark, chương trình sẽ không phản hồi. Có cách nào để chia một tập tin trong tập hợp những cái nhỏ hơn để mở từng cái một không? Lưu lượng truy cập được ghi trong một tệp được tạo bởi hai chương trình trên hai máy chủ, vì vậy tôi không thể phân tách tệp bằng các bộ lọc tcpdump 'host' hoặc 'port'. Tôi cũng đã thử lệnh 'chia' linux :-) nhưng không có may mắn. Wireshark sẽ không nhận ra định dạng.


Lớn bao nhiêu là lớn? Có phải nó lớn hơn nhiều so với RAM có sẵn?
pehrs

2
Hơi muộn một chút, nhưng lý do Wireshark sẽ không đọc các tệp là đầu ra splitlà vì sự phân tách sẽ phân chia trên các ranh giới byte chính xác. Điều này rất có khả năng phân tách một gói làm mất hiệu lực một số nội dung tệp.
Burhan Ali

Câu trả lời:


72

Bạn có thể sử dụng tcpdump với các tùy chọn -C, -r và -w

tcpdump -r old_file -w new_files -C 10

Tùy chọn "-C" chỉ định kích thước của tệp được chia thành. Ví dụ: Trong trường hợp trên, kích thước tệp mới sẽ là 10 triệu byte mỗi tệp.


Bạn là một con người tuyệt vời, Dan.
lobi

Có cách nào để làm điều này mà không phá vỡ một phiên? (Giả sử một phiên duy nhất nhỏ hơn đối số giới hạn kích thước).
Tây Ban Nha

Nhanh: tcpdump -r old_file -w new_files -C 1000 chia nhỏ trên mỗi 955 MB lưu lượng đã ghi
gies0r

18

Sử dụng editcaptiện ích được phân phối với Wireshark.


5
editpcap -c 1000 input.pcap output.pcapsẽ chia input.pcapthành các ảnh chụp với tối đa 1000 gói cho mỗi lần chụp. Đầu ra sẽ có nhiều tệp chụp được định dạng nhưoutput_{index}_{timestamp}.pcap
blachniet

1
Cảm ơn bạn blachniet cho ví dụ! Nhưng nó chỉ editcap, không editpcap, phải không?
lindhe

3

Tôi biết câu trả lời này hơi muộn, nhưng nó cũng có thể phục vụ người khác. Tôi tìm thấy một công cụ tuyệt vời để chia nhỏ các tập tin pcap: PcapSplitter . Đó là một phần của thư viện PcapPlusPlus , có nghĩa là nó đa nền tảng (Win32, Linux và Mac OS) và nó có thể phân chia các tệp pcap dựa trên các tiêu chí khác nhau như kích thước tệp (những gì bạn dường như cần) mà còn bởi kết nối, máy khách / máy chủ IP, cổng máy chủ (tương tự giao thức), số gói, v.v ... Tôi thấy nó rất hữu ích. Liên kết ở trên là dành cho mã nguồn, nhưng nếu bạn không muốn / biết cách biên dịch, tôi đã tạo các tệp nhị phân được biên dịch cho một số nền tảng mà tôi đã sử dụng công cụ này. Tôi khuyên bạn nên công cụ này rất nhiều

EDIT: rõ ràng là một phiên bản mới của PcapPlusPlus đã được phát hành và nó chứa các nhị phân PcapSplitter cho khá nhiều nền tảng (Windows, Ubuntu 12.04 / 14.04, Mac OSX Mavericks / Yosemite / El Captian). Tôi nghĩ rằng tốt hơn là sử dụng các nhị phân này hơn liên kết tôi đã cung cấp trước đây. Bạn có thể tìm thấy nó ở đây


2

Cách tốt nhất và nhanh nhất để sử dụng là sử dụng SplitCap, có thể phân chia các tệp kết xuất gói lớn dựa trên các phiên chẳng hạn. Bằng cách này, bạn sẽ nhận được mỗi phiên TCP trong một tệp PCAP riêng. SplitCap cũng có thể tách các gói thành các tệp pcap dựa trên địa chỉ IP.

Bạn có thể đọc thêm về SplitCap trên blog Netresec: http://www.netresec.com/?page=Blog&month=2011-05&post=Split-or-filter-your-PCAP-files-with-SplitCap

Tải xuống SplitCap từ đây: http://www.netresec.com/?page=SplitCap

Chúc may mắn!


Có phiên bản linux nào không?
ychaouche

Đây là một chương trình hay, đặt nó thiếu khả năng làm việc với các tập tin pcapng.
Guntram Blohm hỗ trợ Monica

0
tcpdump -w trace.pcap -W 48 -G 300 -C 100 -i any port 41110
  • -G 300 nó sẽ xoay trong 5 phút
  • -W 48 số lượng tập tin
  • -C 100 kích thước tệp 100 MB
  • port bạn có thể chỉ định cổng dựa trên ứng dụng
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.