Search…

Hướng Dẫn Dùng Charles Proxy Để Theo Dõi Network Traffic

26/09/20203 min read
Hướng dẫn theo dõi dữ liệu truyền đi và trả về bằng Charles Proxy.

Tham khảo

Cài đặt Charles Proxy

Cài đặt Charles Proxy trên máy tính

Việc cài đặt Charles trên máy tính cực kì đơn giản, tải bản cài đặt mới nhất và tiến hành cài đặt.

Thiết lập Charles tạo Proxy Server

Trong menu của Charles, chú ý đến 2 mục chính là Proxy Settings và SSL Proxy Settings. Nếu option MacOS X Proxy đang mở thì nên tắt để tránh bị nhiễu các request bắt được trong log.

Proxy Settings là nơi để cấu hình thông tin về Proxy Server cho Charles, mặc định là port 8888. Ví dụ IP trong bài này là 192.168.0.112 thì Charles sẽ lắng nghe ở 192.168.0.112:8888.

Thiết lập SSL Proxy Server (nâng cao)

1 tính năng của Charles là có thể theo dõi được các kết nối HTTPS đã được mã hóa. Để có thể sử dụng được tính năng này, Charles sẽ tự động sinh ra 1 root certificate, mobile client sẽ cài đặt và trust certificate này, khi đó Charles sẽ có quyền intercept các kết nối HTTPS đã được mã hóa từ mobile client, kỹ thuật này có thể hiểu là Man in the Middle.

Từ menu SSL Proxying Settings có thể chọn danh sách các domain mà Charles sẽ intercept các HTTPS request, mặc định thì Charles sẽ bỏ qua, có thể chỉ định tên domain muốn lắng nghe, có thể áp dụng wildcard * tương ứng với bất kì kí tự nào, ví dụ:

Thiết lập trên điện thoại

Thiết lập sử dụng Proxy Server trên điện thoại

Giả sử điện thoại và máy tính đang ở trong cùng 1 mạng (LAN wifi) và có 1 proxy server đang lắng nghe ở 192.168.0.112:8888 sau khi thực hiện các bước trên.

Điền các thông tin về proxy server đã tạo.

Android
iOS

Đến bước này đã có thể sử dụng Charles để theo dõi request từ thiết bị này. Nếu không muốn theo dõi các kết nối HTTPS có thể bỏ qua bước dưới đây.

Cài đặt SSL Certificate

Để Charles có thể theo dõi được các kết nối HTTPS, client cần phải cài đặt và trust CA Certificate từ Charles.

Đối với iOS, mở trình duyệt Safari hoặc Android Browser, Chrome đối với Android, lưu ý không dùng Firefox (lý do sẽ được giải thích bên dưới) truy cập vào địa chỉ https://chls.pro/ssl - lúc này hệ thống sẽ hỏi có muốn cài đặt CA Certificate vào máy không, thiết lập và cài đặt.

Đối với iOS 10.3 trở lên, cần vào Settings > General > About > Certificate Trust Settings và enable certificate vừa cài đặt thì mới có hiệu lực.

Sử dụng Charles để theo dõi

Mở 1 ứng dụng bất kỳ trên điện thoại. Các request/response sẽ được hiển thị trên Charles. Lưu ý ở đây đã trust certificate và add domain api.tch.vn để Charles có thể theo dõi được các API đến server này, đối với những server khác nếu không thêm vào settings, mặc định Charles sẽ bỏ qua.

Lưu ý

  • Không phải trường hợp nào cũng có thể áp dụng SSL Certificate để theo dõi request được, tiêu biểu như Facebook. Lý do là tùy app được thiết kế mà sẽ có cơ chế so sánh fingerprint riêng biệt lúc tạo kết nối HTTPS, nhất là các app sử dụng self-signed certificate, lúc này dù certificate của Charles tạo ra có hợp lệ đi nữa vẫn không được chấp nhận vì khác fingerprint certificate gốc của server. Vì thế, api.tch.vn sau này sẽ không còn theo dõi request được nữa.
  • Khi không sử dụng nữa, nên tắt proxy trên điện thoại, nếu không sẽ bị gặp vấn đề với kết nối mạng do proxy gây ra.
IO Stream

IO Stream Co., Ltd

30 Trinh Dinh Thao, Hoa Thanh ward, Tan Phu district, Ho Chi Minh city, Vietnam
+84 28 22 00 11 12
developer@iostream.co

383/1 Quang Trung, ward 10, Go Vap district, Ho Chi Minh city
Business license number: 0311563559 issued by the Department of Planning and Investment of Ho Chi Minh City on February 23, 2012

©IO Stream, 2013 - 2024