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

Review về Fplus: Phần mềm chăm sóc Facebook tự động

Review về Fplus: Phần mềm chăm sóc Facebook tự động

Bạn đang tìm kiếm giải pháp chăm sóc Facebook tự động và hiệu quả? Fplus là phần mềm chuyên dụng giúp tự động hóa và...
Xem thêm
Top 3 phần mềm Facebook Marketing Free tốt nhất 2025

Top 3 phần mềm Facebook Marketing Free tốt nhất 2025

Facebook đã trở thành nền tảng không thể thiếu trong các chiến lược marketing hiện đại, nhờ vào lượng người dùng khổng lồ và khả...
Xem thêm
Acc clone Facebook là gì? Hướng dẫn nuôi acc clone Facebook

Acc clone Facebook là gì? Hướng dẫn nuôi acc clone Facebook

Trong thời đại mạng xã hội phát triển mạnh mẽ, "acc clone Facebook" đã trở thành thuật ngữ quen thuộc với nhiều người dùng. Đây...
Xem thêm
Tool Telegram là gì? Top những Tool Telegram trong marketing

Tool Telegram là gì? Top những Tool Telegram trong marketing

Trong kỷ nguyên số, Telegram không chỉ là một ứng dụng nhắn tin mà còn là nền tảng mạnh mẽ để xây dựng cộng đồng...
Xem thêm
GetNada là gì? Cách tạo Email tạm thời nhanh chóng

GetNada là gì? Cách tạo Email tạm thời nhanh chóng

GetNada là một dịch vụ cung cấp email tạm thời miễn phí, giúp bạn bảo vệ quyền riêng tư và tránh spam khi đăng ký...
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