Tôi cố gắng tính toán GET
Yêu cầu từ máy chủ của tôi.Làm cách nào để lọc kết quả tshark trước khi ghi vào tệp?
Tôi sử dụng tshark
.
tôi chạy theo lệnh để lọc dữ liệu đến và lấy chỉ GET
yêu cầu:
/usr/sbin/tshark -b filesize:1024000 -b files:1 \
'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' \
-w samples.pcap -R 'http.request.method == "GET"'
Như bạn thấy tôi xác định để lưu trữ kết quả lọc đến 1 tập tin với kích thước tối đa 1G và tên: samples.pcap
.
Vấn đề là, khi tôi cố gắng để mở tập tin pcap tôi thấy rằng tshark stored all traffic there
:
3245 172.692247 1.1.1.1 -> 2.2.2.2 HTTP [TCP Retransmission] Continuation or non-HTTP traffic
3246 172.730928 1.1.1.1 -> 2.2.2.2 HTTP Continuation or non-HTTP traffic
3247 172.731944 1.1.1.1 -> 2.2.2.2 HTTP Continuation or non-HTTP traffic
3248 172.791934 1.1.1.1 -> 2.2.2.2 HTTP GET /services/client/client.php?cnc=13 HTTP/1.1
3249 172.825303 1.1.1.1 -> 2.2.2.2 HTTP HTTP/1.1 200 OK [Unreassembled Packet [incorrect TCP checksum]]
3250 172.826329 1.1.1.1 -> 2.2.2.2 HTTP Continuation or non-HTTP traffic
3251 172.826341 1.1.1.1 -> 2.2.2.2 HTTP Continuation or non-HTTP traffic
3252 172.826347 1.1.1.1 -> 2.2.2.2 HTTP Continuation or non-HTTP traffic
3253 172.826354 1.1.1.1 -> 2.2.2.2 HTTP Continuation or non-HTTP traffic
3254 172.826359 1.1.1.1 -> 2.2.2.2 HTTP Continuation or non-HTTP traffic
Tôi có giao thông thực sự lớn, trong thời gian 10 phút tôi nhận được kích thước tập tin pcap 950M. Và phải mất khoảng 4 phút để phân tích nó.
Điều thú vị là khi tôi cố gắng chạy nó mà không để lưu trữ tập tin địa phương (nhưng dưới/tmp):
/usr/sbin/tshark \
'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' \
-R 'http.request.method == "GET"':
3.776587 1.1.1.1 -> 2.2.2.2 HTTP GET /services/client/client.php?cnc=13 HTTP/1.1
4.775624 1.1.1.1 -> 2.2.2.2 HTTP GET /services/client/clsWebClient.php HTTP/1.1
8.804702 1.1.1.1 -> 2.2.2.2 HTTP GET /services/client/client.php?cnc=13 HTTP/1.1
Nó hoạt động, nhưng trong trường hợp này tôi có theo/tmp vài file tạm với kích thước lớn 1G +.
Tôi có bỏ lỡ điều gì đó không?
Cảm ơn bạn
==================== ==================== ===============
Sửa
Lars yêu cầu thêm -f
:
sudo /usr/sbin/tshark -T fields -e 'http.request.uri contains "cnc=13"' \
-b filesize:1024000 -b files:1 \
-f 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' \
-w samples.pcap
không giúp đỡ, vẫn cửa hàng samples.pcap tất cả giao thông:
74 6.908388 172.20.0.23 -> 89.78.170.96 HTTP Continuation or non-HTTP traffic
75 6.908394 172.20.0.23 -> 89.78.170.96 HTTP Continuation or non-HTTP traffic
Bạn đã thử đưa biểu thức bộ lọc chụp vào tùy chọn '-f' chưa? –
Tôi đã thử, vẫn nhận được tất cả lưu lượng truy cập. Bạn đặt '-f' ở đâu? –
Chỉ ở phía trước biểu thức lọc, tức là '-f 'tcp ...' –