前言html
HTTPS實際上是有兩部分組成:HTTP+ SSL / TLS,也就是在HTTP上又加了一層處理加密信息的模塊。服務端和客戶端的信息傳輸都會經過TLS進行加密,因此傳輸的數據都是加密後的數據。安全
1.安卓抓包(無需手機root權限,直接安裝就行)
安卓Packet Capture (安卓的)
連接地址:
連接: https://pan.baidu.com/s/1i4BP7ST 密碼: mrus服務器
2.charles配置https抓包
(Charles抓HTTPS包原理)
Charles自己是一個協議代理工具,若是隻是普通的HTTP請求,由於數據自己沒通過再次加密,所以做爲代理能夠知道全部客戶端發送到服務端的請求內容以及服務端返回給客戶端的數據內容,這也就是抓包工具可以將數據傳輸內容直接展示出來的緣由。對於HTTPS請求,數據都已經通過了加密,代理若是什麼都不作的話是沒法獲取到其中的內容的。爲了實現這個過程的數據獲取,Charles須要作的事情是對客戶端假裝服務端,對服務端假裝客戶端,具體
截獲真實客戶端的HTTPS請求,假裝客戶端向真實服務端發送HTTPS請求
接受真實服務器響應,用Charles本身的證書假裝服務端向真實客戶端發送數據內容工具
1.打開Keychains,輸入Charles 關鍵字搜索,發現是看這樣這樣的狀況,以下所示加密
顯然是系統沒有信任該證書,雙擊上圖中的紅框後, 而後再點擊「信任」左邊的箭頭會看到以下圖所示spa
而後點擊「使用此證書時」這個選項的彈出框,選擇「始終信任」,看到以下圖的效果3d
而後點擊左上角的關閉,會讓你輸入密碼,就OK了。效果以下所示代理
2.在mac上生成charles的root certification,如圖htm
3.將導出的crt文件上傳到手機上,而且進行安裝。小米note不能經過文件管理器點擊crt文件進行安裝,須要進入設置->安全和隱私->從存儲設備安裝blog
4.注意SSL setting
5.正常經過驗證,能夠截取到https的明文數據了
參考資料
1.mac下的抓包工具Charles http://www.neatstudio.com/sho...
2.Charles抓取HTTPS數據包 http://legendtkl.com/2015/11/...
3.手機上安裝證書的方法 http://club.huawei.com/thread...
4.Charles SSL PROXYING http://www.charlesproxy.com/d...
5.Charles SSL CERTIFICATES https://www.charlesproxy.com/...