App開發如何利用Fidder,在api介面還沒有實現的情況下類比資料,繼續開發

來源:互聯網
上載者:User

標籤:fiddler   textview   speed   退出   style   緩衝   點擊   項目組   .net   

    相信app開發很多時候,都是等後台出介面,拿到資料調試錯誤。殊不知,我們完全可以不用等,只要有約定好的介面定義文檔,藉助工具就能做到,自己類比資料返回~  

   下面主要是在項目組開發過程中,使用Fidder,摸索總結的經驗之談.

   

一、初步介紹及前期準備1、抓包工具簡介抓包工具有很多,以下列一下最常用的幾個工具別簡單介紹下firebug:web最常用的調試工具,但是對於分析http請求的詳細資料,不夠強大。類比http請求的功能也不夠,且firebug常常是需要“無重新整理修改”,如果重新整理了頁面,所有的修改都不會儲存。 Wireshark:通用的抓包工具,比fiddler更強大,訊息量更多,比如在驗證反作弊資訊的時候,反作弊pingback資訊的訊息用fiddler就沒抓到,用wireshark就抓到了。 fiddler:HttpWatch 和 Firebug絕大多數前端開發人員都比較熟悉,但是HttpWatch雖然可以抓到每個 HTTP 要求的全部資料,但無法修改返回的資料;儘管Firebug可以修改 HTML和CSS,但是在調試CGI介面時無法幹預HTTP請求的參數值和CGI返回的資料。而 Fiddler作一個 HTTP 調試代理,不但能夠記錄用戶端同伺服器之間的所有 HTTP 通訊資料,還能夠修改請求資料和返回資料,也叫做“構造請求”和“類比響應”。除此之外, 添加了willow外掛程式的Fiddler 還可以:統計資料包、修改Host、請求重新導向、編碼轉換、低網速類比、斷點調試以及過濾HTTP請求…Fiddler包含了一個強大的基於事件指令碼的子系統,並且能夠使用.net架構語言擴充  2、下載根據.netframework 2.0 或 4.0版本下載fiddler2或fiddler4可以直接百度進行下載,或者上官網下載:http://fiddler2.com/get-fiddler安裝:I Agree->Install  3、配置抓取httpsTools->Fiddler Options->HTTPS選項卡->勾選“Capture HTTPS CONNECTs”和“Decrypt HTTPS traffic”前面的複選框,然後點擊“OK”勾選後就可監聽到https的請求和響應了PS:Decrypt HTTPS traffic是解密https流量的意思,勾選後可以查看https內容,如果認證不會導的話,可能會導致部分應用無法串連、部分圖片無法顯示的問題  4、配置允許遠端連線Tools -> Fiddler Options-> Connections選項卡,選中“Allow remote computers to connect”前面的複選框,然後點擊“OK”設定後,就可以監聽設定過代理的手機了,注意,設定後需重啟Fiddler才生效  5、手機設定代理,   原生IP可以通過cmd命令的ipconfig擷取本機IP,或者直接將滑鼠移至上方在Online上(小螢幕時Online會被收合來),如(手機和電腦最好是同一wifi或同一網段)不需要非得本機開熱點才能串連,只需要手機和安裝 Fiddler 電腦在同一WIFI下,手機串連到WIFI。不同的手機設定有所區別,以我的努比亞手機/iphone6p為例,注意,fiddler的預設連接埠是8888,不是8080 設定好後可以隨意開啟幾個APP,看看串連是否抓到,沒抓到很可能就是你剛才設定的代理沒儲存   6、安裝fiddlerroot認證(安裝認證後就能抓到大部分https的內容)在手機瀏覽器中輸入ip:8888,如,點擊最下方的藍字FiddlerRoot certificate(註:手機未設定鎖屏密碼時會讓你先去設定密碼)      二、介面介紹 1、fiddler中各種表徵圖的含義   2、抓包是Fiddler的最基本的應用,以本部落格為例,啟動Fiddler之後,在瀏覽器中輸入http://www.cnblogs.com/cingchen 鍵入斷行符號之後,在Fiddler的web session介面捕獲到的HTTP請求如所示:另外,注意請求的host欄位。可以看到有來自多個api.ad.cnblogs.com的子網域名稱的響應,說明在大型網站的架構中,大多需要多個子網域名稱,這些子網域名稱可能是單獨用於緩衝靜態資源的,也可能是專門負責媒體資源的,或者是專門負責資料統計的   2、Fiddler主介面的布局如下:

主介面中主要包括四個常用的塊:

1.Fiddler的功能表列,綠色部分。包括捕獲http請求,停止捕獲請求,儲存http請求,載入本地session、設定捕獲規則等功能。

2.Fiddler的工具列,紅色部分。包括Fiddler針對當前view的操作(暫停,清除session,decode模式、清除緩衝等)。

3.web Session面板,黃色地區,主要是Fiddler抓取到的每條http請求(每一條稱為一個session),主要包含了請求的url,協議,狀態代碼,body等資訊,詳細的欄位含義如所示:

4.詳情和資料統計面板

針對每條http請求的具體統計(例如發送/接受位元組數,發送/接收時間,還有粗略統計世界各地訪問該伺服器所花費的時 間)和資料包分析。如inspector面板下,提供headers、textview、hexview,Raw等多種方式查看單條http請求的請求報 文的資訊:

而composer面板下,則可以類比向相應的伺服器發送資料的過程(不錯,這就是灌水機器人的基本原理,也可以是部分http flood的一種方式)。

也可以粘貼一次請求的raw http headers,達到類比請求的目的:

Filter標籤則可以設定Fiddler的過濾規則,來達到過濾http請求的目的。最簡單如:過濾內網http請求而只抓取internet的http請求,或則過濾相應網域名稱的http請求。Fiddler的過濾器非常強大,可以過濾特定http狀態代碼的請求,可以過濾特定請求類型的http請求(如css請求,image請求,js請求等),可以過濾請求報文大於或則小於指定大小(byte)的請求:

更多的過濾器規則需要一步一步去挖掘。

 

三、常用功能介紹

1、更改hostfiddler可以直接更改host,不需要重啟手機就可立即生效,而且對IOS也是支援的,可以在正式環境/測試環境來回切換,非常方便Tools->HOSTS...    2、類比弱網環境,限速Rules → Performances → Simulate Modem Speeds。勾選之後,你會發現你的網路瞬間慢下來了很多。至於慢下來後網路速度是多少,則由CustomRules.js 中如下程式控制的(Ctrl+R):...var m_SimulateModem: boolean = true;...if (m_SimulateModem) {// Delay sends by 500ms per KB uploaded.oSession["request-trickle-delay"] = "500";// Delay receives by 150ms per KB downloaded.oSession["response-trickle-delay"] = "150";}... 演算法就是 1000/下載速度 = 需要delay的時間(毫秒),比如50kB/s 需要delay20毫秒來接收資料,所以根據你需要的網路速度來修改上述值。 【注】:存檔之後,原本已經勾選的Simulate Modem Speeds 會被取消勾選,需要再到Rules → Performances → Simulate Modem Speeds 勾選,同時需要注意一定要禁用瀏覽器代理外掛程式,以及修改完成後重啟瀏覽器才會生效。    3、打斷點(會將所有的請求打斷點)Before Requests F11 修改請求資料After Responses Alt+F11 修改響應結果Break On Response 點擊後會在響應的地方打斷點Run To Completion 修改後點擊運行,將修改後的資料進行請求/返回    4、composer 類比請求可以類比所有的http請求,具體的參數可以在raw裡面寫,寫完後點擊Execute進行執行類比請求   5、AutoResponder 自動響應可以精確的對抓到的資料進行處理,比如打斷點(*bpu/*bpafter),直接返回寫好的傳回值(find a file...)等   6、TestWizard 轉碼   7、Replay 重新類比個一樣的請求,Shift+左鍵可以產生N個一樣的請求,可用於簡單的壓力測試   8、快捷命令 (Alt+Q可直接focus到命令列) 請求斷點:bpu 192.168.0.1清除請求斷點:bpu響應斷點:bpafter 192.168.0.1清除響應斷點:bpafter停止/開始抓本地請求:stop/start替換請求地址:urlreplace www.zhuaqianmao.com 121.41.58.3(將zhuaqianmao的請求替換為58.3)
放開所有斷點:go/g選擇所有該host的請求:@118.178.168.129所有請求類型為xxx進行斷點:bpv(bpm) xxx(如post/get)清除所有請求:clear/cls退出fiddler:quit更多命令可參考:http://www.xuanfengge.com/fiddler2-shortcut-command-tutorial-translation.html 
9、更改UA ,可以設定所有請求預設的User-Agent 

App開發如何利用Fidder,在api介面還沒有實現的情況下類比資料,繼續開發

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.