Đăng nhập lưu lượng truy cập HTTP và HTTPS, giải mã cái sau


14

Có cách nào để tôi có thể lưu tất cả thông tin liên lạc của trình duyệt HTTP và HTTPS (bao gồm yêu cầu, phản hồi, tiêu đề đầy đủ và nội dung) vào các tệp trên máy tính của mình không?

Các thông tin liên lạc HTTPS phải được lưu lại được giải mã.

Lý tưởng nhất là tôi đang tìm kiếm một cái gì đó như một tiện ích mở rộng cho Firefox hoặc Google Chrome.

Nó phải hoạt động trên Linux.

Câu trả lời:


4

HAR là Lưu trữ HTTP và chính xác là những gì bạn muốn lưu (nó bao gồm HTTPS không được mã hóa).

May mắn thay, đây là một tính năng cơ bản của tất cả các trình duyệt chính (không phải là khi bạn đặt câu hỏi). Không cần thêm phần mở rộng của bên thứ ba.

Trong Firefox (v41 +):

  • Khởi động Công cụ dành cho nhà phát triển Firefox ở chế độ Mạng (Menu trên cùng bên phải> Nhà phát triển> Mạng hoặc ctrl-shift-Q)
  • Tái tạo kịch bản mục tiêu
  • Lưu bản chụp bằng cách nhấp chuột phải vào lưới và chọn "Lưu tất cả dưới dạng HAR"
  • Xuất bản chụp sang tệp HAR

Trình duyệt khác:

Trong phiên bản gần đây của tất cả các trình duyệt, bạn có thể lưu HAR dễ dàng:

https://toolbox.googl OKs.com/apps/har_analyzer/


6

HTTPFox là một phần mở rộng Firefox sẽ thực hiện công việc.

=== CHỈNH SỬA ===

Nhấp chuột phải vào bảng yêu cầu và nhấp vào "Sao chép tất cả các hàng". Sau đó, bạn có thể lưu nó vào những gì bạn thích biên tập - ví dụ bảng tính Openoffice. Xin vui lòng xem hình ảnh mà tôi cung cấp.

Câu trả lời


Tôi không nghĩ vậy. Tôi vừa mới cài đặt HttpFox 0.8.9 và tôi không thể thấy bất kỳ cách nào để lưu tất cả các giao dịch đã ghi vào tệp. Xin lưu ý rằng tôi có hàng ngàn yêu cầu HTTP (S) và tôi không sẵn sàng nhấp hàng nghìn lần để lưu tất cả chúng. Vui lòng làm rõ cách bạn sẽ lưu tất cả dữ liệu bằng cách sử dụng HttpFox.
pts

Tôi nghĩ vậy, trưởng phòng. Xem chỉnh sửa để trả lời của tôi.
slotishtype

1
@slotistype: Cảm ơn bạn đã làm rõ hình ảnh. Tôi không biết về Sao chép tất cả các hàng trước đây, vì vậy tôi đã thử nó như bạn đề xuất. Rất dễ dàng để tìm thấy nó bằng cách sử dụng hình ảnh bạn cung cấp. Thật không may, nó không sao chép yêu cầu và nội dung phản hồi HTTP, vì vậy đây không phải là giải pháp cho câu hỏi của tôi.
pts

@pts xấu của tôi. Chỉ cần chú ý rằng. Tôi không biết về một công cụ khác, trừ khi bạn giới thiệu một cái gì đó bên ngoài firefox. Chúc may mắn
slotishtype

FYI HttpFox có một tab Nội dung nơi tôi có thể xem nội dung phản hồi - ngoại trừ một số yêu cầu mà nó nói Error loading content (NS_ERROR_DOCUMENT_NOT_CACHED). Nhưng tôi cần phần thân phản hồi của tất cả các yêu cầu, vì vậy, HTTPFox không thể là một giải pháp cho vấn đề này.
pts

3

Fiddler chắc chắn là thứ bạn nên xem xét ngay cả khi nó không phải là một phần mở rộng mà là một ứng dụng riêng biệt.


1
Xin lỗi, Fiddler không làm việc cho tôi. bởi vì nó yêu cầu Microsoft Windows. Tôi có Ubuntu. Một phần mở rộng trình duyệt, như tôi đã hỏi ban đầu, có thể sẽ hoạt động trên nhiều hệ điều hành.
pts

3

Tôi thấy câu trả lời này muốn làm điều này, và không có câu trả lời nào ở đây phù hợp với tôi vì tôi cần phải loại bỏ các cơ quan phản hồi HTTPS, giống như OP. Vì vậy, đối với những người hạ cánh ở đây như tôi đã làm, đây là những gì tôi tìm thấy.

Cuối cùng tôi đã tìm đến mitmproxy , đây không phải là một tiện ích mở rộng của Firefox, nhưng hoàn thành mục tiêu ghi lại tất cả lưu lượng truy cập Firefox. Đó là tất cả Python, vì vậy tôi đã cài đặt nó pip install mitmproxy- sử dụng trình quản lý gói nếu bạn muốn.

Bắt đầu với mitmproxythiết lập / gỡ lỗi ban đầu, và sau đó được sử dụng mitmdumpđể kết xuất luồng khi tôi đã làm việc và tinh chỉnh.

Tôi vừa đặt Firefox để sử dụng 127.0.0.1:8080làm máy chủ proxy (8080 là cổng mặc định của mitmproxy) và tôi thấy tất cả lưu lượng truy cập Firefox của mình đều đi qua mitmproxy. Để bật lưu lượng HTTPS, bạn phải chấp nhận chứng chỉ mà mitmproxy tạo - với proxy được thiết lập, chỉ cần truy cập "địa chỉ ma thuật" của http://mitm.it trong Firefox, nhấp vào nút "Khác", chọn các hộp để tin tưởng vào chứng chỉ và nhấn OK.

Để kết xuất nội dung phản hồi không được mã hóa, tôi đã phải sử dụng một tập lệnh nội tuyến rất đơn giản :

from libmproxy.model import decoded

def response(context, flow):
    with decoded(flow.response):  # automatically decode gzipped responses.
        with open("body.txt","ab") as f:
            f.write(flow.response.content)

Gist tại đây - tải về save_response.pyvà sử dụng nó với mitmdump -s save_response.py. Các cơ quan phản ứng sẽ bắt đầu chồng chất trong body.txt.

mitmproxy cũng có một số bộ lọc hữu ích mà bạn có thể chỉ định để giảm nhẹ để lấy đúng thứ bạn cần.


2

httpFox, httpScoop (chỉ dành cho máy Mac) và httpWatch (chỉ dành cho IE, Firefox, cửa sổ) là tất cả các công cụ tôi sử dụng để thực hiện việc này. Ngoài ra, bạn cũng có thể dùng thử Fiddler (như được đề xuất hiện tại) và nếu bạn đang sử dụng máy Mac, bạn có thể dùng thử Charles Proxy. Sở thích cá nhân của tôi là httpWatch (bạn có thể dễ dàng lọc các tiêu đề, nội dung, url, v.v.), nhưng điều này rất tốn kém nên có thể không phải là một lựa chọn.

Bạn cũng có thể muốn xem dự án HAR (HAR là viết tắt của HTTP Archive) và là một cách tiếp cận dựa trên tiêu chuẩn để ghi lại các giao dịch http, tiêu đề, nội dung, v.v. Một số công cụ được đề cập có thể xuất các tệp HAR để xem bằng cách sử dụng Trình xem HAR (mà bạn sẽ quen thuộc nếu bạn đã xem tính năng thác nước trong Fireorms). Trên thực tế, bạn cũng có thể sử dụng Fireorms để tạo các tệp / nhật ký này cho bạn bằng NetExport.

FWIW httpScoop là một phương pháp tốt để gỡ lỗi / theo dõi lưu lượng HTTP trên mạng không dây, tôi đã viết một bài viết về việc này cách đây một thời gian: http://blog.adtools.co.uk/trace-debug-mobile-application-http- request-using-macos /


Những công cụ nào bạn đề cập có thể lưu một bãi chứa tất cả các giao tiếp đã ghi vào đĩa? httpFox không thể. httpScoop chỉ dành cho Mac và tôi đã yêu cầu một giải pháp Linux. httpWatch chỉ dành cho Windows và tôi đã yêu cầu một giải pháp Linux. Fiddler chỉ dành cho Windows và tôi đã yêu cầu một giải pháp Linux. Charles Proxy chỉ dành cho Mac và tôi đã yêu cầu một giải pháp Linux. Cảm ơn bạn đã đề cập đến Fireorms + NetExport, có khả năng có thể hoạt động.
pts

Fireorms + NetExport hoạt động như một cơ duyên đối với tôi trên Linux. Họ xuất lưu lượng SSL không được mã hóa (như tôi muốn). Tôi rất vui lòng chấp nhận câu trả lời của bạn, nhưng trước tiên hãy xóa tất cả các đề xuất khác (hoặc chuyển chúng sang một câu trả lời riêng).
pts

1

Wireshark có thể được sử dụng để chụp các gói mạng, bao gồm những thứ trong lớp giao thức http và lưu chúng vào máy tính của bạn. Nó cũng có thể nắm bắt thông tin https, nhưng tôi nghi ngờ rằng bạn có thể định cấu hình thông tin đó để giải mã mọi thứ.


1
Cảm ơn bạn đã gợi ý Wireshark, nhưng nó vô dụng như một câu trả lời cho câu hỏi của tôi, vì nó không lưu được luồng HTTPS được giải mã.
pts

2
Wireshark có thể giải mã lưu lượng SSL kể từ một trong những phiên bản cuối cùng nếu bạn có chứng chỉ máy chủ riêng .
cweiske

1
Tôi không có chứng chỉ máy chủ riêng.
pts
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.