原文地址:http://www.cnblogs.com/miantest/p/7290176.htmlcss
在上一篇中介紹了Fiddler的基本使用方法。經過上一篇的操做咱們能夠直接抓取瀏覽器的數據包。但在APP測試中,咱們須要抓取手機APP上的數據包,應該怎麼操做呢?html
Andriod配置方法:ios
1)確保手機和Fiddler所在主機在同一個局域網中web
2)獲取Fiddler所在主機的ip地址,經過cmd命令進入命令編輯器,輸入ipconfig -all,找到IPv4地址,記下該地址正則表達式
3)對手機所鏈接的無線網絡進行設置,點擊WLAN,長按與Fiddler所在主機在同一個局域網的wifi,長按點擊【修改網絡】,選中【顯示高級選項】,代理設置爲手動,輸入代理服務器的主機名和端口後保存。代理服務器的主機名即2)中的IPv4地址,端口爲Fiddler上配置的端口(默認爲8888),能夠到Fiddler菜單欄中【Tool】-【Fiddler Option】的【Connections】中查看。瀏覽器
4)在手機瀏覽器上輸入:http://IPv4地址:端口(例如:http://192.168.11.29:8888),點擊【FiddlerRoot certificate】下載安裝Fiddler證書。服務器
5)若在瀏覽器上沒法打開該地址,須要作兩項檢查:1、確保在瀏覽器、wifi中配置的代理與Fiddler所在主機地址和Fiddler中配置的端口,三者保持一致;2、確保在Fiddler-【Tools】-【Fiddler Option]-[Connection]中【Allow remote computers to connect】已經勾選上,若沒有勾選,則須要勾選後保存並重啓Fiddler。網絡
6)這時咱們打開手機上的瀏覽器或APP,能夠在Fiddler上看到手機上的數據包了。session
IOS配置方法:編輯器
1)基本與andriod的配置方法一致,除了安裝證書方式與andriod略有不一樣,另外ios在下載證書後,須要手動信任證書。設置方法:打開【設置】-【通用】-【關於本機】-【證書信任證書】,找到對應的證書,啓用便可。
HTTPS抓包
上面都是針對HTTP協議進行抓包的設置,那麼HTTPS須要進行什麼配置呢?
1)打開Fiddler-【Tools】-【Fiddler Option】,切換到HTTPS選項卡,勾選【Capture HTTPS CONNECTs】和【Decrypt HTTPS traffic】,而後點擊【Actions】-【Trust Root Certificate】,而後按照提示一路yes,直到彈框提示「Trust Cert success」點擊肯定後,重啓Fiddler就能夠抓取HTTPS協議的數據包了。
Fiddler過濾會話
咱們在使用Fiddler進行抓包時,發現只要是使用了Fiddler代理服務器的全部HTTP/HTTPS數據包都會在Fiddler數據列表中顯示出來,但有時咱們只關注從某個或某些服務器發出的請求,不想要看到其餘服務器的數據包,應該怎麼進行設置呢?咱們都知道Fiddler是一款強大的抓包工具,咱們能夠經過設置來過濾只篩選出咱們想要的數據包。
1)在右側菜單中,找到Fittlers選項,共有9個部分進行設置
2)Use Filters:勾選則表示使用過濾,不勾選則表示不進行過濾
3)Actions:有四個選項,Run Filterset now:當即運行過濾設置;Load Filterset:加載保存的過濾設置;Save Filterset:保存過濾設置;help:幫助
4)Hosts:該設置項有兩個選項
5)Client Process:有三個選項,Show only traffic from:根據進程信息進行過濾,選擇後,將只顯示由該進程發出的請求;Show only Internet Explorer traffic:只關心由IE瀏覽器發出的請求;Hide traffic from Service Host:隱藏來自service host(即由svchost.exe進程發出)的請求
6)Request Headers:有五個選項,Show only if URL contains:能夠經過正則表達式過濾請求地址中包含或不包含的內容,例如REGEX:\.(js|css|js\?.*|css\?.*)$(隱藏全部js和css請求);Hide if URL contains:與Show only if URL contains相反,一個是顯示,一個是隱藏;Flags requests with headers:支持指定某個http請求頭名稱,若是在web session列表中存在該請求頭,會加粗顯示該session;Delete requests headers:與Flags requests with headers相似,這裏是若是包含該請求頭,則刪除該請求頭;Set request header:將HTTP請求頭更新爲所輸入的值。
7)Breakpoints:斷點設置,有四個選項。Break request on POST:對POST請求設置斷點;Break request on GET with query string:會爲全部方法爲GET且URL中包含了給定查詢條件的請求設置斷點;Break on XMLHttpRequest:對全部可以肯定是經過XMLHTTPRequest對象發送的請求設置斷點;Break response on Content-Type:會爲全部響應頭Content-Type中包含了指定文本的響應設置響應斷點。
8)Response Status Code:根據響應狀態碼設置斷點。
9)Response Type and Size:有幾種類型,一類是根據響應數據的類型顯示或隱藏;一類是根據響應數據的大小顯示或隱藏;一類是根據響應所須要的時間設置背景顏色;一類是根據文件類型進行限制。
10)Response Headers:與Request Headers不一樣的是,這塊區域是針對響應數據的頭部進行過濾。
這麼多設置項,比較經常使用的就是1.2.3部分。經過過濾設置,能夠快速的幫助咱們找到咱們須要抓包分析的數據包,從而提升效率,避免過多的數據包信息干擾咱們找到正確的數據包。