Charles
Charles(青花瓷)是一個HTTP代理服務器,HTTP監視器,反轉代理服務器,當程序連接Charles的代理訪問互聯網時,Charles可以監控這個程序發送和接收的所有數據。它允許一個開發者查看所有連接互聯網的HTTP通信,這些包括request, response和HTTP headers (包含cookies與caching信息)。
Charles主要功能:
- 支持SSL代理??梢越厝》治鯯SL的請求。
- 支持流量控制。可以模擬慢速網絡以及等待時間(latency)較長的請求。
- 支持AJAX調試??梢宰詣訉son或xml數據格式化,方便查看。
- 支持AMF調試??梢詫lash Remoting 或 Flex Remoting信息格式化,方便查看。
- 支持重發網絡請求,方便后端調試。
- 支持修改網絡請求參數。
- 支持網絡請求的截獲并動態修改。
- 檢查HTML,CSS和RSS內容是否符合W3C標準。
Charles for MAC 安裝和配置
- Charles的官網下載鏈接:http://www.charlesproxy.com/downloa
2.安裝提示
點解Grant Privileges 信任即可,如果點擊Not Yet 或者關閉按鈕,Charles 將會取消Mac 代理,需要手動設置,設置時會再次彈出該窗口。設置Mac代理 。
- 3、注冊charles,附上注冊碼:
Registered Name: https://zhile.io
License Key: 48891cf209c6d32bf4
打開charles--help--register charles,注冊完成之后會有個彈窗提示,如下:
- 4、安裝根證書以及信任根證書
help --> SSL Proxying --> 點擊1安裝charles根證書,& 點擊2安裝IOS模擬器證書 ,&點擊3安裝 手機證書。
信任charles證書,選中charles證書,右鍵查看詳情,信任該證書,如下:
- 5、抓取http請求,Charles代理設置
Proxy --> proxy setting --> proxies ,勾選 enable transparents HTTP proxying ,如下:
- 6、獲取https請求,Charles設置
在設置了第5步抓取http請求之后,charles對于https請求會顯示unkonwn 就是不能解析https請求,需要的步驟已經提示看6圖的右邊:SSL Proxying not enabled for this host…….. ,此時需要在手機端安裝證書。
-
7.手機端安裝證書,在手機端safari瀏覽器中打開https://chls.pro/ssl地址,safari會自動幫你下一個CA證書,點擊安裝,如圖:
- 7.1 手機下載描述文件過程:
步奏1.PNG
- 7.2 下載描述文件后需要信任描述文件
- 8.回到Charles,頂部工具欄:Proxy --> SSL Proxying Settings --> SSL Proxying : 勾選Enable SSL Proxying ,添加需要攔截https的域名host,端口是443 這里是把所有的host都設置進去,也可以用 * 代替會將所有的https請求都捕獲到,如下:
Android & IOS 手機設置抓包
1、首先要確認手機和電腦處于同一個局域網中,連接同一個wifi。
-
2、檢查你的device 設備,并設置devices設備的無線網絡代理是MAC設備的IP地址,通過charles 中點擊 help -- > local IP Address來查看MAC設備的IP地址,以及設置的端口號,默認是8888。
2.1 在Android、IOS設備上;Android 選擇無線網絡,修改網絡,設置代理為MAC設備的IP:port,IOS 選擇無線網,修改網絡,設置代理為MAC設備的IP:port
2.2 然后在Android 手機瀏覽器輸入 chls.pro/ssl 下載證書,Android設備使用非chrome瀏覽器下載的charles證書默認不能安裝成功,可以在無線網絡中,點擊WLAN設置,選擇安裝證書,此時需要輸入證書名稱(該證書是下載到本地的 .pem 證書),點擊確定 OR 如果安裝還不成功,請嘗試把文件重命名為.crt,再重復上述操作
Android的網絡設置如下:
如果Charles可以抓取數據時,會有提示,點擊Allow后就可以看到請求的數據了,如下:
摘抄自victory0943的博客