2013-04-30 39 views
10

Có khả năng lọc tcpdump (trực tiếp hoặc sau khi tạo bãi chứa) dựa trên thời gian kết nối tcp (thời gian kết nối) không?tcpdump - cách lọc dựa trên thời gian/thời gian kết nối tcp

Tôi đang ghi lưu lượng truy cập http json rpc. Tôi chỉ muốn ghi lại các kết nối dài hơn 1000 giây.

Trong Wireshark có công cụ trong Menu-> Statistics-> Conversations (TCP tab) và ở đó tôi có thể sắp xếp theo "Duration". Nhưng tôi muốn ghi lại (hoặc lọc) các kết nối sống lâu trước đây (không phải trong Wireshark).

Trong lệnh giả tôi muốn làm một cái gì đó như thế này:

tcpdump -i eth0 port 80 and connectionTime>1000ms -w data.pcap 

hoặc sau khi ghi:

cat data.pcap | SOMETOOL -connectionTime>1000ms > dataLongConnections.pcap 

SOMETOOL phải xuất lọc dữ liệu để định dạng mà Wireshark sẽ hiểu. Vì sau khi lọc, tôi muốn phân tích dữ liệu đó trong Wireshark.

Tôi có thể làm như thế nào?

+0

Bạn đã thử SplitCap theo đề xuất của kauppi? Bạn không thể lọc thời lượng phiên với tcpdump, vì nó không phải là một bộ lọc stateful, cái nhìn đầu tiên có vẻ như cung cấp những gì bạn cần để bắt đầu. –

+0

Để thêm vào những gì Tom Regner đã nói: 'tcpdump' không theo dõi thời lượng phiên. Lý do 'Wireshark' có thể hiển thị cho bạn thông tin là bởi vì' Wireshark' chính nó đang theo dõi thời lượng phiên, không đơn giản là phân tích 'tcpdump'. –

Trả lời

1

Bạn cần xem xét lưu lượng truy cập của mình tại mức lưu lượng thay vì mức gói.

Nếu bạn đã làm việc với NetFlow, bạn có thể sử dụng flow-toolsflow-nfilter để lọc luồng theo thời lượng. Vì vậy, bạn có thể convert your pcap to NetFlow và sau đó lọc nó.

Hạn chế là ở đầu ra bạn nhận được NetFlow, chứ không phải PCAP. Để xây dựng một số số liệu thống kê nó là đủ, nhưng để kiểm tra các gói tin - không chắc chắn.

Bạn cũng có thể tạo công cụ của riêng mình với libpcap trong C (đường cứng) hoặc scapy bằng python (cách dễ dàng hơn). Tùy chọn thứ hai không quá khó khăn (miễn là bạn làm việc với python)

2

SplitCap có thể phù hợp với bạn. Nó sẽ lấy PCAP làm đầu vào và xuất các PCAP riêng biệt cho mỗi phiên TCP/UDP. Sau khi chia tách, bạn có thể lọc từ các PCAP đầu ra, những thứ thú vị để giữ lại.

Các vấn đề liên quan