一.簡介
抓包工具fiddler
二.下載安裝Fiddler
下載地址:Download Fiddler Web Debugging Tool for Free by Telerik
1.下載界面
因為我的目的是為了手機端抓包,所以選擇mobile,接下來填寫你的郵箱和國家,寫好之后選擇Download for Windows進行下載
2.Fiddler的安裝
下載完成后雙擊安裝包
點擊I Agree,然后選擇你想要存放的安裝目錄,如不需要修改,使用默認即可,之后選擇Install進行安裝
安裝成功后點擊close。
三.Fiddler的配置
3.1
將上面紅框里的勾選,這個是為了允許抓取https的流量。如果第一次使用,勾選之后會提示你安裝一個證書,這個證書就是用來做中間人進行抓包的,Fiddler使用此證書來解密所捕捉到的包,在加密發送到相應的服務器端或者客戶端。
如果沒有彈出來可以點擊右邊的Actions按鈕,然后選擇Trust Root Certificate按鈕,然后全部選擇是就ok了。
之后再選擇Actions中的第二個選項將證書導出到桌面,在對應的瀏覽器里面添加即可
之后選擇抓取哪一部分的流量
1.from all processes:抓取所有進程的流量
2.from browsers only:只抓取瀏覽器的流量
3.from non-browsers only:不抓取瀏覽器的流量
4.from remote clients only:抓取遠程的客戶端,當需要抓取的是手機端的流量,就需要用到這個
接下來設置端口號
一般默認即可,下面的那個 Allow remote computers to connect 是允許遠程的客戶端進行連接,如果抓取手機端的也需要勾選
3.2
此時用手機鏈接wifi,然后長按wifi名修改網絡,點擊代理,選擇手動
主機名:電腦的ip地址,選擇電腦win+R,輸入cmd,回車,輸入ipconfig
由于我的電腦也是鏈接wifi,所以ip地址對應的時無線網絡的,如果你的電腦使用網線上網,ip地址就是以太網的那個
填寫完之后還不能抓取,如果直接抓取會顯示證書有問題,也需要安裝證書才可以正常抓取。
安裝證書:
在手機瀏覽器輸入你的ip地址:端口號 進入網址下載證書,如 192.168.1.1:8888,端口號是之前在Fiddler設置的那個
點擊上述鏈接進行下載安裝即可,如果設置完了,網絡沒了,那就重啟一下Fiddler就可以進行抓包了
3.3對https抓包
如果上述都設置完成后,發現app抓取https無法成功解析請求的包信息,可以通過以下步驟設置:
在目標項目的res/xml目錄下創建一個network_security_config.xml文件,然后加入如下配置:
接著在AndroidManifest.xml中配置android:networkSecurityConfig屬性來讓上述配置生效:
這樣我們就可以對當前的應用程序發出的https網絡請求進行抓包了。
因為在Android7.0系統中進行了一項安全升級,從Android7.0系統開始,只是在手機上安裝了抓包工具的證書,仍然無法對https請求進行抓包,還必須要在應用程序的代碼中加入一段網絡安全配置才行。默認情況下,我們無法對各個APP的https請求進行抓包。瀏覽器并不存在這個問題,因為它的Chromium內核源碼中已經配置過,而所有基于Chromium內核的瀏覽器也就都自動擁有了這個功能。
四.抓包內容的介紹
左邊是捕捉的請求和響應,右邊對應的是請求的詳細信息,比如請求頭,表單信息;
左邊每列代表的含義為:
五、常用功能
1.查找:抓包時,經常會抓到一堆不重要的包,而需要找的包夾雜在里面非常難找,所以就可以用關鍵字來查找,入口為:或者可以直接點
也可以快捷鍵Ctrl+F即可:
2.映射:也就是重定向,將服務器端的響應內容可以更改為客戶端上的文件,功能也很強大。