2013-02-20 71 views
5

Chạy lệnh tập tin chống lại một tập tin pcap sẽ in ra một cái gì đó dọc theo dòng -file pcap và endianness

$ file pcap.pcap 
pcap.pcap: tcpdump capture file (little-endian) - version 2.4 .... 

Tôi đã tìm kiếm một cách để tạo ra một tập tin chụp lớn về cuối nhỏ, hoặc tải về một mẫu trực tuyến, nhưng không có kết quả.

Tôi cũng bị nhầm lẫn về những gì chính xác trong một pcap sẽ là nhỏ gọn hoặc lớn-endian. Đó là hiểu của tôi rằng libpcap nắm bắt những gì nó thấy trên dây.

Trả lời

8

Vâng, một cách để thực hiện điều đó là chạy tcpdump hoặc Wireshark trên máy tính lớn; hãy thử nhận, ví dụ, một máy Mac chạy trên nền PowerPC cũ chạy OS X.

Ngoài ra, cách duy nhất để có được chúng sẽ là xem xét, ví dụ: the Wireshark Wiki's SampleCaptures page để xem có bất kỳ ảnh chụp nào được mô tả là thực hiện trên, nói, một máy dựa trên SPARC hoặc một máy dựa trên PowerPC (hoặc một máy MIPS lớn, chẳng hạn như máy SGI, nhưng không phải là máy DEC) hoặc tìm lỗi trong the Wireshark bug database có chứa ảnh chụp trên một máy tính lớn. libpcap/WinPcap ghi ra các tập tin chụp theo thứ tự byte máy chủ - mục đích là loại bỏ chi phí chuyển đổi byte khi viết ra các ảnh chụp trực tiếp, chuyển gánh nặng cho chương trình đọc tệp.

Và, vâng, libpcap/WinPcap chụp những gì họ nhìn thấy trên dây, NHƯNG họ thêm một phần đầu tập tin cho, ví dụ, liên kết lớp kiểu tiêu đề cho các gói dữ liệu, và thêm vào mỗi gói một tiêu đề gói đưa ra một dấu thời gian cho gói tin, độ dài của gói tin khi nó xuất hiện trên mạng và số byte đã bị bắt (trong trường hợp chương trình chụp được yêu cầu "cắt" gói với kích thước tối đa, để giảm CPU và I/O băng thông khi chụp nếu, ví dụ, chỉ có các lớp liên kết, lớp mạng và tiêu đề lớp vận chuyển là thú vị). Thông tin là nội dung lớn hoặc nhỏ gọn; gói dữ liệu thực tế dữ liệu là bất kỳ thứ tự nào trên mạng (mặc dù siêu dữ liệu gói, chẳng hạn như thông tin vô tuyến cho 802.11, có thể theo thứ tự byte chuẩn, chẳng hạn như ít thông tin radio radiotap hoặc có thể thứ tự byte máy chủ, như trường hợp cho siêu dữ liệu USB Linux).

+3

Tệp chụp được đính kèm với Lỗi Wireshark # 7221 là nội dung lớn ... https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7221 – willyo

0

Để chuyển đổi endianness của một tập tin pcap, bạn cũng có thể sử dụng Wireshark hay tcpdump:

  • Với wireshark, chỉ cần mở tệp và lưu tệp đó mà không sửa đổi. Tệp đã lưu sẽ có cùng endianess của máy tính của bạn.

  • hoặc với tcpdump, chỉ cần làm "sudo tcpdump -r inputpcapfile -w outputpcapfile"

Bằng cách này bạn có thể chuyển đổi một tập tin pcap để có endianess cùng hơn máy tính của bạn. Nói nếu máy tính của bạn sử dụng ít endian và tập tin pcap là lớn endian, các tập tin lưu sẽ sử dụng ít endian. Điều này chỉ hoạt động theo một cách, không thể sử dụng tính năng này để chuyển đổi sang độ tin cậy khác so với máy tính của bạn.