it-swarm-vi.tech

Cách kết xuất toàn bộ yêu cầu HTTP bằng apache

Có thể kết xuất toàn bộ yêu cầu HTTP bằng apache không? Tôi cần theo dõi tất cả các tiêu đề HTTP của các yêu cầu không liên quan. Làm thế nào để làm điều đó?

27
Alex

Tôi nghĩ những gì bạn muốn thay vì Apache có thể là một bộ phân tích gói , Còn được gọi là trình thám thính gói. Hai trong số những cái phổ biến nhất có lẽ là TCPDumpWireshark , cả hai đều miễn phí và có phiên bản cho hệ điều hành Windows và * nix. Những thứ này sẽ cho bạn thấy tất cả lưu lượng truy cập đến trên một giao diện, không chỉ những gì Apache nhìn thấy. Nhưng bạn có thể sử dụng các bộ lọc để giới hạn ở một cổng được chỉ định, chẳng hạn như 80 cho http.

tcpdump:
[.___.] Lệnh sau chạy từ máy chủ sẽ hiển thị cho bạn tất cả các gói được dành cho cổng 80:

Sudo tcpdump -s 0 -X 'tcp dst port 80'

Công tắc vốn X bỏ tải trọng trong hex và ASCII. Công tắc s với 0 có nghĩa là lấy toàn bộ gói. 'tcp dst port 80' có nghĩa là lọc và chỉ hiển thị các gói được dành cho cổng 80 trong tiêu đề tcp.

Wireshark:
[.__.] Đối với phiên bản thân thiện hơn với người dùng, nếu bạn có GUI đang chạy, hãy xem xét wireshark (chính thức được gọi là Ethereal).

30
Kyle Brandt

có thể bán phá giá cookie ? mặt khác - nhìn vào mod_dumpio .

12
pQd

Việc đánh hơi gói cơ bản rất dễ dàng với ngrep một sự kết hợp giữa tcpdump và grep. Trong một số trường hợp nhất định nếu bạn muốn xem cách trình duyệt web giao tiếp với máy chủ web và kiểm tra các tiêu đề HTTP.
[.__.] Trong ví dụ này, hãy chạy ngrep trên máy chủ web như thế này:

$ ngrep port 80

bạn cũng có thể chọn lọc yêu cầu http thành yêu cầu "GET /" tới cổng 80 bằng cách:

$ ngrep -q '^GET .* HTTP/1.[01]'

Phía máy khách, có một công cụ hữu ích có tên Tamper Data, đó là tiện ích mở rộng Firefox cung cấp cho bạn khả năng xem, ghi lại và thậm chí sửa đổi các yêu cầu HTTP gửi đi.
[.__.] Bạn có thể tìm thêm thông tin tại đây

8
Ali Mezgani

Thay vì sử dụng tcpdump hoặc wireshark, hãy sử dụng tcpflow. Đây là một sự thay thế cho tcpdump, nhưng tạo một tệp cho mỗi bên của mỗi kết nối, do đó bạn không phải tự mình giải mã luồng.

7
David Pashley

Apache có chức năng đó được tích hợp sẵn; chỉ cần tăng mức ghi nhật ký lên trace7 hoặc là trace8:

LogLevel trace8

Lưu ý rằng điều này sẽ đổ rất nhiều rất nhiều dữ liệu . Bạn đã được cảnh báo.

0
Wouter Verhelst