Tôi đang sử dụng tshark để kết xuất bittorrent.unch.data và dường như đã đạt một số giới hạn nội bộ trong tshark.
tshark -r 2-live.pcap -R "bittorrent.piece.data and ip.dst_host == 192.168.3.14" -T fields bittorrent.piece.data > dumped
Điều này sẽ kết xuất dữ liệu mảnh (các mảnh 32Kbyte) dưới dạng các byte được phân tách bằng dấu hai chấm trong hex mà không dẫn 0x, ví dụ: 7f: 00: ab: cd .... và cứ thế cho 32Kbyte.
Một mảnh được ghi vào thiết bị xuất chuẩn trên mỗi dòng mà tôi chỉ đơn giản là chuyển hướng đến một tệp, nhưng dữ liệu mảnh được cắt ngắn bằng cách nào đó với độ dài dòng là 65540, trong đó tôi đang mong đợi 90-100KBytes mỗi dòng / mảnh, được cung cấp 3 ký tự cho mỗi dòng -byte được yêu cầu bởi định dạng đầu ra được chọn bởi tshark (7f: == 1 byte)
Chạy với strace tôi có thể thấy rằng tshark đang viết 4096 byte và sau đó là 61444 cho mỗi phần.
Tôi không biết liệu đây có phải là giới hạn cứng của tshark liên quan đến các trường đầu ra của giao thức được đọc từ tệp pcap hay không, liệu cấu hình Linux của tôi có giới hạn ở mức thấp hơn không. Tôi rất mong đợi nó là trước đây nhưng sẽ hoan nghênh lời khuyên.
Tôi có cần vá mã wireshark / tshark hoặc tôi có thiếu tùy chọn dòng lệnh hoặc cấu hình không?
Lưu ý: Tôi có thể kết xuất thành công dữ liệu tải trọng 32768 KBytes từ công cụ wireshark GUI để dữ liệu chắc chắn nằm trong tệp pcap. Nhưng tôi muốn tự động hóa quá trình này và cần tshark để cung cấp cho tôi tất cả các byte ...