你需要的裝置:
- 一部Android手機
- 一臺Windows電腦
零、寫在前面
Fiddler是什麼
摘自百度百科
Fiddler是一個http協議除錯代理工具,它能夠記錄並檢查所有你的電腦和網際網路之間的http通訊,設定斷點,檢視所有的“進出”Fiddler的資料(指cookie,html,js,css等檔案,這些都可以讓你胡亂修改的意思)。 Fiddler 要比其他的網路偵錯程式要更加簡單,因為它不僅僅暴露http通訊還提供了一個使用者友好的格式。
Android需要Fidder做什麼
其實Fidder就是一個款目前市面上非常常用的抓包工具,所以我們用它自然是抓包了,不過我們抓包有時為了什麼?
就我個人目前用的而言有以下幾個目的:
- 在和伺服器除錯時,可以幫我們檢視到資料在傳輸過程中的形式及內容。便於我們和伺服器除錯。
- 在學習類似Retrofit或者Okhttp等開源的網路框架時,我們也可以通過抓包檢視我們配置的內容有哪些地方的更改
- 和上面一點差不多,就是對於我們學習真個http的網路協議都是有幫助的。
如果你還有其他的妙用,歡迎留言!
說了這麼多我們開始吧!
一、配置Fidder
1. 下載Fidder
fidder官網:www.telerik.com/download/fi…
和安裝一般軟體一樣一路next最後finish,然後你的桌面上就會出現。
那麼我們就安裝完成了!
2. 配置Fidder選項
雙擊開啟我們的fidder軟體,會看到如下的介面:
我使用的版本是4.6的,是我寫部落格時的最新版本!
我們先大致瞭解一下,整個軟體介面可以分為五個部分
- 選單欄,每個軟體都有,沒什麼好講的
- 常用工具欄,一些常用的工具固定在此欄
- 抓到的地址資訊
- 各種詳細資訊及詳細資訊切換欄
- 對應4中所切換的具體詳細資訊顯示檢視區域
大家也不用所有的都細緻的去了解,你特別需要用到的時候再去查相關的功能就好了!
就用fidder對Android裝置進行抓包而言,我們需要進行如下配置
- 點選上圖中1選單欄中的tools--》optional
進入如下介面,勾選【Capture HTTPS CONNECTS】
這是為了截獲Https的請求
- 點選Connections選項,然後勾選【Allow remote computers to connect】
勾選過後會有個提示框,點選確認就好了。
然後需要將軟體退出然後重啟才會生效。
這是為了能夠捕獲遠端裝置(在這裡也就是我們Android手機)上的請求而勾選的。(IOS手機的抓包應該也是同理的,只是我沒有測試)
到這裡我們的fiddler軟體就已經基本完成了配置過程!
二、配置Android手機
首先要確保你的手機和你抓包的電腦在同一個路由下面,比如我的手機和電腦都連線著我的小米路由器(小米的工作人員自覺在下面讚賞留言哈)。電腦用網線,手機用無線連都是可以的。
確定這點很重要!
1. 檢視電腦的ip
win+R 開啟執行框
然後輸入cmd點選確認,開啟命令列輸入ipconfig
找到相應的本機ip地址
2. 配置Android手機
關於手機的配置總共有這樣六步:
- 連線同一個路由的wifi
- 開啟wifi高階選項
- 開啟手動http代理
- 配置代理伺服器主機名(上面帶大家找到電腦的ip地址)
- 配置伺服器埠fidder的預設埠8888(如果你前面沒有改那就是他了)。
- 儲存完成了
當然我還用我的錘子手機(老羅,下次跟我合個影,廣告費就不要了)。給大家錄製了一個gif圖。
三、簡單的使用
關於適用教程,其實這個就很簡單了,你前面如果都配置好了,那麼只要你在手機上開啟瀏覽器瀏覽一個網頁,fidder軟體左邊就自動出現了你所以請求的所有連線!大家也可以看一下我為大家錄製的gif圖
這就是上面的抓包過程抓到的訪問錘子官網時的所有請求,請求輪播圖的一個連結:
左邊是我的手機在電腦上的投影。右邊是fiddler軟體
軟體的左邊是抓到的所有連結,其中藍色那一條就是被我選中產看請求詳情的連結
fiddler軟體右邊的資訊就是選中連結的詳情了,上面是請求的內容,下面是返回的內容,大家可以看到,我是選擇了imageView來進行檢視的,所以能夠直接看到該連結請求到的圖片。
四、我的實際應用
前一兩天我在和伺服器除錯上傳圖片,伺服器自己寫的demo頁面能夠上傳成功
而我的始終都不能成功於是我就抓了demo和我的app請求的報文!
上圖展示的是我從fidder軟體介面右邊檢視4的位置裡面的raw選項中的資料!
然後通過對比發現,我傳圖片時的Content-Type和Demo的不一樣!
然後我改了一下就ok了!
好了這個軟體抓包教程就先介紹到這裡吧,當然肯定還沒有完,不是還有很多其他的按鈕沒有介紹嗎,那不妨你自己去點一點。看一看如果你點選json會有什麼,點選xml會有什麼?軟體右上放還有個filter核取方塊,感覺像是過濾,你要不要去試試!
其實介紹到這裡,剩下的內容,你自己去探索會學的更快一些!交給你了!
如果你喜歡歡迎關注我的微信公眾號:Android程式設計師日記