http&https ---抓包工具 Fiddler&wireshark

一、http和https協議差別

http默認採用80作爲通訊端口,對於傳輸採用不加密的方式

 

https默認採用443,對於傳輸的數據進行加密傳輸。http協議明文傳輸;https是集對稱加密(通信)和非對稱加密(協商行爲)爲一體的加密過程

前提:

服務器端向證書頒發機構(CA)申請一個證書,CA記錄下證書的相關信息;

客戶端瀏覽器已經內置了可信任CA的列表;

流程:

客戶端使用瀏覽器訪問服務器時,服務器向客戶端發送證書,通過對比(瀏覽器開始查找操作系統中已內置的受信任的證書發佈機構CA,與服務器發來的證書中的頒發者CA比對,用於校驗證書是否爲合法機構頒發;

如果找到,那麼瀏覽器就會從操作系統中取出  頒發者CA  的公鑰,然後對服務器發來的證書裏面的簽名進行解密 ),然後瀏覽器使用相同的hash算法計算出服務器發來的證書的hash值,將這個計算的hash值與證書中籤名做對比,對比結果一致,則證明服務器發來的證書合法;

不合法,瀏覽器提示有風險;合法的話,此時瀏覽器就可以讀取證書中的公鑰,用於後續加密了。

 

note:在第 ② 步時服務器發送了一個SSL證書給客戶端,SSL 證書中包含的具體內容有證書的頒發機構、有效期公鑰、證書持有者、簽名,通過第三方的校驗保證了身份的合法,解決了公鑰獲取的安全性.

 

二、處理HTTP,HTTPS 還是用Fiddler,  其他協議比如TCP,UDP 就用wireshark;

1、wireshark 抓包工具之前用lua做過二次開發,是一個跨平臺的軟件,可以在unix系列、linux、mac os、windows等多個平臺上面進行網絡協議抓包工作,可以對網卡進行監聽,無論是http的還是tcp的請求都能抓取到,不能修改數據包或者攔截數據包。

2、fiddler的定位是網頁調試工具,能記錄所有客戶端和服務器的http和https請求(only),允許你監視,設置斷點,甚至修改輸入輸出數據;

它以代理web服務器的形式工作。它使用代理地址:127.0.0.1,端口:8888。當Fiddler退出的時候它會自動註銷,這樣就不會影響別的程序。

3、fiddler 手機抓包 :需要手機連接電腦相同局域網,並在手機wifi配置裏,配置http代理,手動輸入服務器=本機無線網卡IP;端口=Fiddler的代理端口8888;配置成功後,手機上瀏覽器訪問網頁輸入代理IP和端口,下載Fiddler的證書。安裝完了證書,可以用手機訪問應用,就可以看到截取到的數據包了。

三、fiddler抓包步驟:

(瀏覽器)

1、安裝fiddler,按照提示安裝https證書

2、打開fiddler,注意最下角capturing顯示,即開啓抓包功能

3、常用過濾器,只抓取想要的url

4、修改接口返回數據功能

選中需要修改記錄,右鍵選擇unlock for editing,修改右側reponse塊下的TextView,改成需要的值

去掉“Unlock for Editing”,再選擇右側上方的AutoResponder,勾選下方的checkbox選框(或者將鏈接拖入autoResponder,右鍵選擇 generate file, 把file轉換成json格式,修改參數字段保存,刷新頁面,返回新值)

回到瀏覽器,刷新頁面,返回頁面修改成功

 

(手機端)

前提:

必須確保安裝fiddler的電腦和手機在同一個wifi環境下

備註:如果電腦用的是臺式機,可以安裝一個隨身wifi,來確保臺式機和手機在同一wifi環境下

步驟:

1、確保pc上的Fiddler配置:Tools->Fiddler Options->Connections;Tools->Fiddler Options->HTTPS

2、手機瀏覽器訪問pc的ip:端口,下載fiddler證書;連接與電腦相同的wifi,修改wifi的網絡,手動設置代理,代理服務器主機名爲電腦的IP地址,代理端口爲在fiddler裏設置的端口號,保存後,fiddler將能夠收到手機上的請求信息

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章