閱讀本文前您需要先下載fiddler並成功安裝,並且要有一丟丟測試和接口基礎或者在學習fidder時遇到了問題,或許本文可以幫助到你
一、B/S端抓包 Fiddler設置
1、 官網下載fiddler適當版本進行接口抓包
2、 打開如下,如果選擇Hide All則為阻止接收接口url展示在窗口
如果選擇All Progress則顯示瀏覽器所有捕獲到的接口請求
3、 真正的接口測試,需要我們指定對應地址進行請求,過濾掉電腦上那些無用請求,那么fiddler應該如何解決這個問題?
此處我以jenkins的登錄為例進行演示,對應項目情況也是一樣的,jenkins頁面如下:
打開Fideler,輸入jenkins訪問ip,此處我在本地localhost,具體以實際情況為主
Jenkins登錄查看fiddler結果
4、 對抓到的包進行簡單分析,如下:
找到登錄的包,找到我們需要的header
找到我們需要的登錄賬號密碼就可以開始接口測試了
B/S端瀏覽器證書配置
原因和背景:b/s端抓取htts,需要授權證書,一般http請求是不需要配置證書授權的
1、 Tools-HTTPS-Actions-導出證書
導出的證書顯示在界面如下
2、 瀏覽器導入此證書(此處firefox)
右上角瀏覽器-選項-證書-隱私與安全-證書
添加剛剛下載的證書,導入
勾選如下,重啟瀏覽器就可以了
證書無法導出解決
1、 現象:無法導出證書的問題
點擊action彈出:the root certificate could not be located
2、解決:點擊以下程序,重新執行,再次重復上面的流程export即可
http://www.telerik.com/docs/default-source/fiddler/addons/fiddlercertmaker.exe?sfvrsn=2
3、 解決:如果還不行就刪除證書,重新執行上面1的步驟和證書導入操作
二、Fiddler抓包APP、微信小程序(安卓、IOS)
2 、fiddler設置
2.2 勾選和端口設置,端口用於手機端
2.3 查看fiddler所在電腦ip
提示:查看方法ipconfig(windows) 或 ifconfig(linux) 找到ipv4,用於手機代理設置的ip
注意:如果ip非固定,需要固定ip ,方法請百度
2.4 Fiddler-tools-HTTPS 勾選如下
勾選from remote clients only 是為了過濾來自於其它http或者https的請求
3、手機端設置
3.1 手機設置-代理設置
設置-無線和網絡-WLAN-找到和電腦端一致的網絡-修改網絡
注意:IP輸入電腦ip,端口用fiddler上設置的8888在手機瀏覽器進行訪問 結果如下:
3.2 證書下載
訪問ip+端口后會提示你下載證書,如下
3.3 找到此證書進行安裝
證書名稱任意命名,點擊確定就可以了。
此時連接的office20會自動由不可上網變為可上網狀態,如果沒配置好證書會有一個感嘆號顯示在網絡處,網絡會用不了
如何查找已下載的證書呢,安卓手機參考如圖:(下載-進入-安裝)
4、恢復上網
代理使用完成后需要恢復網絡為非代理,否則手機無法上網
5、online查看
允許遠程設備使用本機聯網online
點擊online可以查看到捕獲的IP(本機IP)在列表內
6、微信小程序抓包
步驟1:Fiddler證書設置與前面第2點一致
步驟2:蘋果手機設置手動代理網絡與安卓一致,參考上面的步驟
步驟3:蘋果手機safari瀏覽器訪問ip:8888地址,在提示不安全時仍然允許NOT_TRUST_CERT
步驟4:進入手機設置-配置描述文件-安裝證書,安裝成功即可抓取app,但是還不能抓取小程序或微信
步驟5:抓取小程序:
由於小程序端是https的,在安裝證書以后需要開啟證書信任才能訪問,開啟證書信任開關方法如下
① 蘋果端開啟:設置->通用->關於本機->證書信任設置->開啟
② 安卓端開啟:暫未找到信任地,無法抓小程序(如果有找到的請留言分享交流)
三、fiddler抓包微信公眾號
1、 與小程序配置一樣即可抓取,但是要注意必須保證網絡在沒有設置代理是通的,在設置代理后網絡仍然可用,沒有感嘆號
2、 需要確保電腦端網絡與手機網絡是同一個無線網網絡