Đưa ra .pcap
(hoặc tương tự), tôi muốn chọn một kết nối TCP và kết xuất cả hai luồng dữ liệu ứng dụng (một từ đồng đẳng khác và một hai ngang hàng khác) thành hai tệp riêng biệt trên đĩa.
Hãy giả sử rằng tôi có một .pcap
tệp mà trong số những thứ khác mà tôi biết có chứa một luồng TCP đầy đủ (từ SYN đến FIN + ACK/RST cuối cùng) của kết nối văn bản thuần HTTP/1.1. Tôi muốn có hai tệp kết quả có nội dung. I E. một tập tin có
NHẬN / HTTP/1.1\r\n
máy chủ: foobar.com\r\n
\r\n
và các tập tin khác có
HTTP/1.1 200 được rồi\r\n
độ dài nội dung: ...\r\n
... \r\n
\r\n
<html>...</html>
Và tôi muốn đây chính xác là lưu lượng dữ liệu ứng dụng đã được nhìn thấy/gửi trong không gian người dùng (từ đọc
/viết
/gửi/
recv`/...). Những gì tôi muốn làm với điều này là kết xuất một số lưu lượng truy cập và sử dụng lưu lượng truy cập đó để kiểm tra trình phân tích cú pháp của tôi đối với một số giao thức mạng nhất định. Trình phân tích cú pháp chỉ có thể đọc một trong những tệp đó và cố gắng phân tích cú pháp luồng dữ liệu.
Làm thế nào một công cụ dòng lệnh như vậy có thể trông như thế nào? Tôi không chắc điều này có cực kỳ hữu ích hay không nhưng tôi nghĩ nó có thể làm rõ hơn những gì tôi đang tìm kiếm nếu tôi cũng đưa ra một ví dụ sử dụng của một công cụ tưởng tượng có thể làm được điều này.
Hãy gọi công cụ tưởng tượng (đây là thứ tôi đang tìm kiếm) tcp-stream-trích xuất
. Tôi muốn gọi nó bằng một cái gì đó như
### ví dụ sử dụng tưởng tượng của công cụ mà tôi muốn tìm :)
# kết xuất từ 12345 thành 23456
tcp-stream-trích xuất \
-i my-captured-packets.pcap
-s 127.0.0.1:12345 \ # địa chỉ nguồn 127.0.0.1:12345
-d 127.0.0.1:23456 \ # địa chỉ đích 127.0.0.1:23456
-t '2021-01-28 09:12:00Z' \ # kết nối TCP vẫn hoạt động vào thời điểm đó
-w from-port-12345-to-port-23456
# kết xuất từ 23456 thành 12345
tcp-stream-trích xuất \
-i my-captured-packets.pcap
-s 127.0.0.1:23456 \ # địa chỉ nguồn 127.0.0.1:12345
-d 127.0.0.1:12345 \ # địa chỉ đích 127.0.0.1:23456
-t '2021-01-28 09:12:00Z' \ # kết nối TCP tại thời điểm đó
-w from-port-23456-to-port-12345