數據抓包
一、數據抓包的目的
1、抓包其實就是利用開發的程序模擬發起正常的請求行為
2、正常的請求行為:
(1) PC端web瀏覽器的請求行為
(2) 移動端web瀏覽器的請求行為
(3) 移動APP端的請求行為
(4) 其他終端的請求行為
3、數據抓包的目的就是通過捕獲PC端、移動端或其他終端的請求行為,並對其進行分析,從而實現在程序中進行模擬。。
二、抓包工具的原理
1.抓包工具本質其實就是一個本地代理軟件,本地的所有請求都是通過抓包工具進行轉發。常見抓包工具:
(1)Wireshark:幾乎TCP/IP協議棧任何協議都能捕獲(太強大也難)
(2)Fiddler:http/https抓包工具,跨平台性差
(3)Charles(推薦):http/https抓包工具,跨平台性強,官方文檔支持較好
三、Charles抓包工具使用
1.Charles安裝
2.利用Charles進行PC端http/https抓包
3.利用Charles進行移動端http/https抓包
注意:HTTPS的抓包必須的本地設備端(移動端)安裝好對應的證書,如果沒安裝證書在contents會顯示為亂碼!
四、安裝證書
1.查看proxy下是否已經啟動charles,默認是啟動的;
2.在同一台機器上只能啟動一個代理的,如果有多個的,將其它的關閉只用開啟charles;
3.如果沒有安裝證書,打開https網站,在contents顯示的全部為亂碼;
4.首先需要安裝證書,裝到本地機器系統上面(如圖1),一直下一步直到證書選擇項(如圖2)
圖1
圖2
5.默認是只啟動了http的抓包,我們還需要設置開啟HTTPS的抓包,在菜單欄選擇Proxy-> SSL Proxying Settings后設置啟動HTTPS如圖3,設置*號代表所有的HOST ip地址,HTTPS走的是443端口號
圖3
五、手機移動端http/https抓包
1.手機端與電腦端在同一個WIFI下
2.進入手機網絡,長按已連接的WIFI -> 修改網絡 -> 高級選項 -> 代理 -> 手動 -> 出現配置項 -> 服務器主機名(表示charles安裝電腦的IP地址,而且是它在WIFI中的IP地址) -> 端口(在proxy菜單下的proxy Settings代理設置 HTTP proxy下的Port對應的值)
3.手機端安裝證書,在瀏覽器輸入“chls.pro/ssl”下載證書,設置代理,手機與電腦在一個局域網下,打開WIFI鏈接,並選擇手動代理,其中代理的IP和端口寫上圖提示的填寫完后就可以抓包了。
4.HTTPS抓包原理圖(如圖4)
圖4
六、WebSocker協議(比如在視頻聊天室大漠聊天中使用到)
1.HTTP與WebSocker協議的區別示意圖(如圖5)