Charles系列二:Charles PC端和手機端抓取HTTP和HTTPS協議請求、HTTPS通用抓包規則


一:HTTP和HTTPS的區別

  HTTP是超文本傳輸協議,被用在Web瀏覽器和網站服務器之間傳遞信息,HTTP協議以明文方式發送內容,不提供任何方式的數據加密,因此HTTP協議不適合傳輸一些敏感信息,如:信用卡號,密碼等支付信息。為了保證這些隱私數據能加密傳輸,於是網景公司設計了SSL用於對HTTP協議傳輸的數據進行加密,從而誕生了HTTPS。

  兩者主要區別:

    1.https協議需要到CA申請證書,一般免費證書較少,因而需要一定費用。個人網站、小網站沒有必要用。

    2.http是超文本傳輸協議,信息是明文傳輸,https則是具有安全性的SSL加密傳輸協議(https也不是絕對的安全,在黑客攻擊,拒絕服務攻擊,服務器劫持等方面幾乎不起作用,最關鍵的SSL證書的信用鏈體系並不安全,特別是在某些國家可以控制CA根證書的情況下,中間人攻擊一樣即可)。

    3.http和https使用的是完全不同的連接方式,用的端口也不一樣,http是80,https是443。

    4.https的連接很簡單,是無狀態的,https協議是SSL+HTTP協議構建的可進行加密傳輸,身份認證的網絡協議。

    5.https連接緩存不如http高效,會增加數據開銷和功耗,甚至已有的安全措施也因此會受到影響。

    6.https協議握手階段比較費時。

二:Charles PC端截取HTTP和HTTPS協議請求(抓包實戰)

      抓包前注意事項:

  

  

   

   抓包步驟:

  1.首選保證Charles開啟,其它你想抓包的工具也開啟,之后找到Charles的Proxy選項中的Start Recoding選項和Windows Proxy(mac電腦的是macOS Proxy),在進行測試的過程中發現不管我的win電腦勾選不勾選Windows Proxy,都可以抓取電腦上的包,經過跟幾個搞測試的朋友交流,他們的都是正常的,所以少數服從多數,按不勾選Windows Proxy只能抓取手機上app的包,電腦上的包抓取不到。經過測試蘋果電腦不勾選macOS Proxy的情況下是不能抓取電腦上的包的,勾選后就可以了。

  

  2.用瀏覽器打開你想要截取的網址

  

  3.對於HTTPS協議出現的中文亂碼,Charles在電腦端安裝charles ca證書,之后修改菜單項Proxy中Proxy Settings 和SSL Proxying Settings...選項,否則即使安裝了charles ca證書依然不能正常顯示

  下圖為win電腦安裝charles ca證書

  

  下圖為蘋果電腦安裝charles ca證書

  

  

  

三:Charles 手機端(安卓,蘋果機沒有,以后補上)截取HTTP和HTTPS協議請求(包含手機端小程序抓包)

  1.Charles想要抓取手機上的包,就要進行一些配置,首先查看Charles所在電腦的ip,兩種方式可以

  方式1:

              

  方式2:

    

  2.查看Charles的端口號,找到Proxy選項,選中Proxy Settings可以看到默認是:8888

  

  

  3.手機打開同一局域網下最好同網段(有些是同一局域網但是不在同一個網段,比如我的win是台式的,插的網線,手機是連的公司一個路由器的wifi,結果就連不上抓不了包,無奈我就用了蘋果電腦跟手機連同一個wifi,一下就連上去了),設置手動代理,輸入電腦的ip和Charles的端口號。結束后不要忘記更改手機代理,否則手機無法正常上網。

  

  

       

  4.安卓(vivoX6)手機端安裝charles ca證書(前提條件是電腦端也要安裝charles ca證書),首選根據charles中help選項中的提示,用手機瀏覽器(本人手機上選用的是uc瀏覽器),打開chls.pro/ssl (手機設置了charles代理,否則打開的網址提示錯誤)。下載后是pem文件,不能被我的手機識別安裝,所以我就更改了后綴名.crt文件,安裝后,由於不被信任,抓取的https協議的依然提示unknown,經過上網查找,問題沒有解決。同事的小米華為手機都ok。

  

四:Charles HTTPS協議通用抓包配置規則

  在上面我們講到要想抓取某個https協議的內容,在SSL Proxy Settings選項里面添加某個https協議的網址和端口號即可,但是這樣可能會有點麻煩,要想截取所有的https協議怎么辦?看下圖(手機端電腦端通用)

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM