21/12/2022 | Nhi Nguyen

Giới thiệu

Charles là một web proxy (HTTP Proxy/HTTP Monitor) cho phép lập trình viên có thể theo dõi toàn bộ thông tin HTTP và SSL/HTTPS giữa thiết bị như browser/mobile tới Internet, bao gồm request, response và HTTP headers (bao gồm cả cookie và caching).

Khi bạn lập trình một ứng dụng Android, thì có thể bạn sẽ phải làm rất nhiều đến việc liên kết đến với phía server như request các API. Và đây là một công cụ rất hữu ích để bạn có thể debug các request đó đã chính xác chưa mà không cần phải dùng tới công cụ logging như Logcat đôi khi khá tốn thời gian và có thể phải mất công sửa code.

Ở trong bài này proxyv6.net muốn giới thiệu với các bạn công cụ Charles và cách để có thể kết nối và debug với thiết bị Android.

Ứng dụng Charles hiện có trên cả 3 nền tảng Mac, Linux, Windows, các bạn có thể tải về tại địa chỉ: https://www.charlesproxy.com/download/. Phiên bản dùng thử thì chỉ có thể sử dụng được trong 30 phút, nếu bạn muốn sử dụng thêm sẽ phải khởi động lại ứng dụng. Ở trong bài viết này mình sẽ sử dụng Charles trên hệ điều hành Mac.

Cấu hình tạo Charles Proxy

  1. Mở Charles sau đó chọn Proxy -> Proxy Settings
  2. Trong tab Proxies, bạn nhập 8888 xong phần HTTP Proxy Port. Có nghĩa là nếu địa chỉ IP của máy bạn là 192.168.15.91 thì bạn sẽ thiết lập một proxy server ở địa chỉ 192.168.16.91:8888.

Sử dụng Charles Proxy để theo dõi network traffic trên Android

  1. Chọn Proxy -> Proxy Settings

Sử dụng Charles Proxy để theo dõi network traffic trên Android

  1. Click vào tab SSL Proxying và check vào Enable SSL Proxying.
  2. Ấn vào nút add để chỉ định tên domain muốn lắng nghe. Bạn có thể sử dụng wildcard ví dụ như *.mydomain.com hoặc một domain chính xác như api.mydomain.com đều được.

Sử dụng Charles Proxy để theo dõi network traffic trên Android

Cấu hình cho điện thoại

Xác định địa chỉ IP của máy bạn.

Để biết địa chỉ IP của máy bạn có thể vào Help -> Local IP addess trên toolbar của Charles

Sử dụng Charles Proxy để theo dõi network traffic trên Android

Hãy ghi lại địa chỉ IP này để dùng cho bước tiếp theo.

Cấu hình thiết bị Android để sử dụng Charles Proxy

Đầu tiên, bạn hãy chắc chắn điện thoại của bạn sử dụng chung mạng với máy tính.

  1. Vào Setting của địện thoại sau đó chọn WIfi.
  2. Nhấn và giữ vào tên mạng wifi bạn đang kết nối sau đó chọn Modify network
  3. Sau đó check vào ô Advanced Options và cuộn xuống phần Proxy.
  4. Nhấn vào phần proxy và chọn Manual
  5. Ở phần Proxy Host Name bạn nhập địa chỉ ip máy tính của bạn vừa lấy ở bước trước
  6. Phần Proxy port bạn nhập vào port mà bạn đã thiết lập ở bước Proxy Settings, do trước đó mình dùng 8888 nên ở đây nhập cổng đó vào.

Sử dụng Charles Proxy để theo dõi network traffic trên Android

  1. Nhấn Save
  2. Sau khi Save, bạn sẽ nhận được một pop-up thông báo có một kết nối từ điện thoại của bạn tới Charles như sau:

Sử dụng Charles Proxy để theo dõi network traffic trên Android

  1. Bạn click vào Allow để cho điện thoại của bạn có thể được thiết lập để kết nối tới Charles thông qua proxy.
  • Nếu bạn không thấy pop-up này, bạn có thể chắc chắn thiết bị của bạn đã được sử dụng proxy bằng cách vào Proxy -> Access Control Settings và thêm vào địa chỉ IP của máy điện thoại của bạn vào đó.

Sử dụng Charles Proxy để theo dõi network traffic trên Android

Cài đặt Charles SSL certificate

  1. Bạn vào trình duyệt trên điện thoại sau đó nhập địa chỉ chls.pro/ssl hoặc http://charlesproxy.com/getssl và download SSL certificate về.
  2. Sau khi download xong certificate, click vào để mở file đó. Android sẽ hiển thị mội dialog để bạn cài đặt file này, nhập tên chứng chỉ sau đó nhấn OK. Tên chứng chỉ bạn nhập gì cũng được, ở đây mình nhập luôn là Charles

Sử dụng Charles Proxy để theo dõi network traffic trên Android

Sau khi xong quá trình này là bạn đã có thể debug các request của bạn. Tuy nhiên cần chú ý là từ android N trở lên, bạn cần thêm phần config cho app của bạn để có thể sử dụng được SSL certificate được tạo ra bởi Charles proxy. Điều đó có nghĩa là bạn chỉ có thể sử dụng SSL proxy cho ứng dụng của bạn mà thôi. (Ở phiên bản thấp hơn, bạn có thể debug và lấy được cả request của các ứng dụng khác). Nếu bạn sử dụng android N trở lên thì hãy làm thêm bước sau đây:

Thêm Network Security Configuration cho android N

Bạn cần làm theo các bước như ở https://developer.android.com/training/articles/security-config cho ứng dụng của bạn:

  1. Tạo file xml có nội dung như sau:
<network-security-config> 
  <debug-overrides> 
    <trust-anchors> 
      <!-- Trust user added CAs while debuggable only -->
      <certificates src="user" /> 
    </trust-anchors> 
  </debug-overrides> 
</network-security-config>

 

  1. Lưu file.
  2. Thêm android:networkSecurityConfig vào file AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
    <application 
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:networkSecurityConfig="@xml/network_security_config"  >
        ...
    </application>
</manifest>

 

Done, vậy là bạn đã hoàn tất quá trình cài đặt, giờ bạn có thể nhìn thấy được các traffic được ghi lại ở điện thoại của bạn.

Sau khi debug xong bạn hãy nhớ tắt setting proxy bằng cách chọn Proxy: None trong phần thiết lập wifi của điện thoại.

Bạn có thể tìm hiểu thêm các bài viết khác về các cách “Sử dụng Charles Proxy để theo dõi network traffic trên Android” bằng các bài viết khác ở chuyên mục này: “Công Nghệ”

Để có thể mua Proxy cho IPv6 bạn có thể mua tại website proxyv6.net.

Các bạn có thể tìm hiểu thêm tại Google

Tags: proxy , proxy ip4 , proxy ip6 ,

Bài viết khác

Hướng dẫn download và sử dụng phần mềm quét ảnh tìm Facebook

Hướng dẫn download và sử dụng phần mềm quét ảnh tìm Facebook

Phần mềm quét ảnh tìm Facebook là công cụ hữu ích giúp người dùng tìm kiếm các tài khoản Facebook thông qua hình ảnh. Hãy...
Xem thêm
Hướng dẫn tải phần mềm live stream Facebook Fpluslive

Hướng dẫn tải phần mềm live stream Facebook Fpluslive

FPlusLive là một trong những phần mềm live stream Facebook tốt và mang lại lợi ích kinh tế cao nhất trên thị trường. Đặc biệt...
Xem thêm
Hướng dẫn tải phần mềm Telegram TelePlus tiếng Việt trên máy tính

Hướng dẫn tải phần mềm Telegram TelePlus tiếng Việt trên máy tính

Bạn đang tìm kiếm một phần mềm Telegram với giao diện tiếng Việt và nhiều tính năng bổ sung hữu ích? TelePlus chính là giải...
Xem thêm
Hướng dẫn download phần mềm SEO Facebook miễn phí Flus

Hướng dẫn download phần mềm SEO Facebook miễn phí Flus

Trong thời đại số hóa, phần mềm SEO Facebook Flus ra đời như một giải pháp hiệu quả, hỗ trợ quản lý nội dung, tối...
Xem thêm
Hướng dẫn cài đặt phần mềm Facebook Marketing Flus

Hướng dẫn cài đặt phần mềm Facebook Marketing Flus

Trong thời đại số hóa, phần mềm Facebook Marketing Flus là giải pháp lý tưởng cho những ai muốn tự động hóa và nâng cao...
Xem thêm

Buy Private Socks5 & HTTP proxies

Proxies for many purpose such as adsvertising, marketing, data crawl, ...

BUY PROXY V6 V4

Lựa chọn của người biên tập

Croxyproxy Instagram là gì? Cách sử dụng Croxy Proxy Instagram

Croxyproxy Instagram là gì? Cách sử dụng Croxy Proxy Instagram

Nội dungXác định địa chỉ IP của máy bạn.Cấu hình thiết bị Android để sử…
Xem thêm