Kết hợp Fiddler và Python bắt HTTP(S)

Kết hợp Fiddler và Python bắt HTTP(S)

1. Cấu hình Fiddler.

Đầu tiên chúng ta cấu hình Fiddler nhận dữ liệu HTTP(S) từ các tiến trình (process).

Sau đó trích xuất CA certificate ra Desktop.

Chúng ta nhận được cửa sổ thông báo xuất tập tin FiddlerRoot.cer thành công.

Tại Desktop chúng ta sẽ thấy tập tin FiddlerRoot.cer

Hiện tại tập tin này đang lưu trữ dữ liệu ở dạng DER. Chúng ta sẽ chuyển nó về định dạng PEM, vì thư viện requests của python yêu cầu như vậy. Chi tiết về các định dạng trên các bạn có thể xem tại đây

Nháy đúp chuột vào tập tin FiddlerRoot.cer. Nó sẽ hiện ra cửa sổ sau.

Chọn thẻ Details. Rồi click nút Copy to File...

Chọn Next.

Chọn tiếp Base-64 encoded X.509 (.CER). Rồi Next.

Sau đó đặt cho tập tin mới. Rồi Next -> Finish. Xong

Để chỉnh cổng (port) lắng nghe của proxy server vào Tools > Options... > Connections. Chỉ định cổng kết nối tại Fiddler listens on port:.

2. Cấu hình Python.

Chúng ta sẽ tìm kiếm và biên tập tập tin cacert.pem.

Để tìm kiếm một cách nhanh chóng, tôi dùng phần mềm Everything để tìm kiếm tập tin trên.

Trước tiên mở tập tin FiddlerRoot2.cer vừa mới lưu lúc nãy. Sau đó sao chép nội dung của nó sang cho các tập tin cacert.pem vừa tìm được. Tại sao lại có bước này? Nếu bạn muốn tìm hiểu thì có thể đọc bài viết này HTTP(S) proxy server hoạt động như thế nào ?.

Để bắt HTTP(S) ta gán các biến môi trường sau:

Trong code python
import os
os.environ['HTTP_PROXY'] = "http://127.0.0.1:8888"
os.environ['HTTPS_PROXY'] = "http://127.0.0.1:8888"

# cmd
set HTTP_PROXY=http://127.0.0.1:8888
set HTTPS_PROXY=http://127.0.0.1:8888

#terminal
export HTTP_PROXY="http://IP_Fiddler:8888"
export HTTPS_PROXY="http://IP_Fiddler:8888"

Kiểm tra thử

HẾT

Nhận xét

Đăng nhận xét

Bài đăng phổ biến từ blog này

Xin chào

Các trang web xem phim đã sử dụng google drive như thế nào ?

Thoát kiểm duyệt xem phim lậu - haha