訪問個人博客html
因爲工做中常常須要配置客戶端開發人員對接接口,有時候對接地不太順利,所以須要常常性地對公司 APP 進行抓包看請求,找出具體的緣由。windows
在公司中開發使用的 Windows 臺式電腦,抓包工具選擇了 Fiddler,這個工具剛開始學會抓包的時候,以爲真乃神器!在通過幾回開發電腦升級以後,從新安裝 Fiddler 後,和以前的設置相同,可是死活抓不了包,或者抓不了 Https 的包, 總之總會出現各類奇怪的問題,若是出了問題,簡直讓人抓狂!瀏覽器
去年年末,給本身換了一臺 MBP,平常學習中也須要用到抓包,爲了和公司中的工具保持一致,想下載 Fiddler 的 Mac 版,結果並無。因而下載了 Charles (花瓶),用了花瓶以後,發現其比 Fiddler 更加好用~安全
在一次受夠了 Fiddler 的莫名其妙地抓不了 Https,怒卸載之,尋尋覓覓,找到了 Win 版的 Charles 😊(以前還覺得沒有 Win 版呢),通過簡單配置,開始了愉快的抓包~網絡
Charles 軟件下載app
下載安裝完,在開始菜單中找到 Charles 打開,提示有 30 天的試用期。若是 30 天到期的話,能夠選擇購買一個 license ,30 刀。若是不想買,能夠參考此文繼續試用,Charles Proxy使用筆記(文內有好禮)。選擇 Help-Registered 填入 license 便可激活。工具
現在 Https 大行其道,蘋果更是強制要求 APP 通訊必需要使用 Https 協議,若是隻是抓普通的 HTTP 請求,無需複雜配置便可抓包,這也代表了 HTTP 的安全性很低。學習
Charles 默認不對 HTTPS 的請求開啓抓包,因此,須要先開啓全部 HTTPS 請求的抓包。測試
進入菜單 Proxy-SSL Proxying Settings
選擇開啓 SSL Proxy,並 Add 一條 Location 記錄,Host 填寫 *
,表明匹配全部網址,端口 Port,填寫443,即 HTTPS 端口。 選擇保存。搜索引擎
基礎配置到此就完成了,如下本文按照兩方面來描述,Charles 抓 HTTPS。
進入 Help 中,選擇 SSL Proxying 設置,安裝根證書
注意這一步必定要將證書存儲到 受信任的根證書頒發機構,不然抓包 HTTPS 會提示證書不受信任!!!嗯,搞了很久,血通常的教訓!
安裝期間會有安全警告,選擇是便可。
訪問 https://www.baidu.com後,查看 Charles,已經能夠看到 Https 請求下的數據了。
想要 Charles 抓 HTTPS 的數據包,須要設置代理並安裝 Charles 的中間 SSL 證書。
選擇 Help-SSL Proxying
點擊會彈出對話框以下
按照提示,將手機連入電腦同一個網絡,WIFI 處設置代理,代理的地址以及端口按照對話框中進行設置。
設置成功返回以後,此時電腦上 Charles 會自動彈出提醒,提示是否容許請求代理經過,選擇 Allow
容許便可。
連上代理以後,使用系統自帶瀏覽器( iPhone 使用 Safari)訪問地址 chls.pro/ssl
,若是是 iPhone 會自動彈出安裝描述文件,選擇安裝輸入密碼後無視警告安裝便可。安卓手機進入會彈出安裝證書頁面,類型選擇 WLAN,證書名稱隨意填寫(小米手機不會彈出安裝證書頁面,而是將證書下載到根目錄的 Downloads 下,進入小米手機設置-更多設置-系統安全->從存儲設備安裝,找到剛纔下載的證書進行安裝便可)。
手機訪問 https://m.baidu.com
,查看 Charles ,發現此時已經能夠拿到 HTTPS 數據內容了,若是沒設置成功,裏面都將會是 unknown。
在 IOS11上測試時,抓包顯示unknown 須要進入通用-關於本機-證書信任設置,將新增的證書進行開啓操做。
善用搜索引擎,由於你遇到的問題確定有別人都遇到過了,若是你搜不到,確定是你的搜索姿式不對~
實在有問題解決不了,能夠找我喲!