學會如何抓包,是爬蟲的必備技能,甚至可以說,不會抓包就等同於不會爬蟲。

那我們怎樣抓包呢?如果直接抓取瀏覽器上的內容,可以直接使用開發者工具進行抓包,但有個侷限,只能抓瀏覽器的,功能也沒有多少。還可以使用別的工具,比如 mitmproxy、charles,當然還有今天所說的 Fiddler 。今天要分享的就是如何使用fiddler進行抓包以及它的功能講解。

1. 下載並安裝fiddler

下載地址:telerik.com/download/fi

這裡填寫下你的下載目的和國家就可以下載了,安裝的話這裡就不多說了。

2. Fiddler工作原理以及優缺點

圖片來自blog.csdn.net/DreamTL/a

如上圖,Fiddler 作為一個代理,先是捕捉到客戶端的 request 請求,然後再自己轉發到伺服器端,伺服器接收到請求時,會返回一個響應 response ,Fiddler 還是會繼續捕捉到伺服器的響應請求,再來轉發給客戶端,簡單來說, Fiddler 就是作為一個中間人。

優缺點:

只支持 http、https、ftp、webscoket 數據流等相關協議的捕捉,無法監測或修改其他數據流,如 SMTP、POP3 協議(郵箱相關的協議),無法處理請求和響應超過 2GB 的數據,還有就是隻支持 windows 平臺,如果想要支持 mac 的話,建議下載 charles ,不過很喫性能,在我機子上運行下那風扇就想起來了。

3. Fiddler 功能詳解

3.1 如何進行抓包

1)先勾選允許抓取 https 流量

這個就是允許抓取 https 的流量。如果第一次使用,勾選之後會提示你安裝一個證書,這個證書就是用來做中間人進行抓包的, Fiddler使用此證書來解密所捕捉到的包,再加密轉發到相對應的伺服器端或者客戶端。

如果你還沒有安裝就點擊 Yes 安裝即可,如果沒有彈出此窗口的也可以點擊右上角的 actio 按鈕的第一個選項也是可以彈出此個窗口的

上面圈出來的是表示抓取哪一部分的流量。

  1. from all processes:抓取所有進程的流量
  2. from browsers only:只抓取瀏覽器的流量
  3. from non-browsers only:不抓取瀏覽器的流量
  4. from remote clients only:抓取遠程的客戶端,當需要抓取的是手機端的流量,就需要用到這個

2)接下來設置埠號

一般默認即可,這裡我設置成了8889。

下面的那個 Allow remote computers to connect 是允許遠程的客戶端進行連接,如果抓取手機端的也需要勾選。

3)瀏覽器設置代理伺服器

Fiddler 的設置完了,這時候還需要在你的瀏覽器上設置代理伺服器才能進行抓取。

使用 Chrome 瀏覽器的可以直接使用 SwitchyOmega 插件進行修改即可,操作簡單。

點擊新增情景模式

選擇代理伺服器,隨後填寫任意名字,這裡我填寫的是 Fiddler,點擊創建即可。

然後填寫以上內容,代理伺服器為本機,埠號為上面在 Fiddler 設置的埠號,填寫完在左下角點應用選項纔算設置完畢。

設置完之後再在瀏覽器插件處點擊該插件,然後選擇該模式即可開始抓包

設置完之後第一次打開可能是這樣的

關閉 Fiddler 再重新打開就可以了

3.2 進行手機端抓包

手機端的抓包也是很容易的,先是設置好 Fiddler 的允許抓取遠程客戶端。

這時用手機連接wifi,然後長按修改網路(不同安卓手機不一樣)

點擊代理,然後點擊手動

主機名就寫你電腦上的 ip 地址,查看 ip 地址可以在控制檯上輸入 ipconfig 即可

由於我的電腦也是連接 wifi 的,所以 ip 地址對應的是 無線網路的那個,如果你的電腦是使用網線來進行上網的,那 ip 地址就是 乙太網的那個。

填完之後還不能抓取,如果直接抓取會顯示證書有問題。

我們也是需要安裝證書纔可以正常抓取的。那接下來安裝證書

手機瀏覽器輸入 你的ip地址:埠號 進入網址下載證書,如 192.168.1.2:8888, 埠號還是之前在 Fiddler設置的那個

點擊上圖箭頭的網址進行下載即可,下載完畢之後點擊安裝即可。

如果你是 miui 系統的機子,就需要進入wifi 設置的界面進行安裝

點擊 高級設置 --> 安裝證書 即可,期間需要密碼驗證或者設置密碼之類的設置即可。

還有一個大坑,就是如果你的機子 是安卓 9 而是 miui 系統(其他系統沒測試過)的話,安裝了證書也是沒用的,在進行抓包的時候還是會提示證書有問題。安卓 8 版本的我沒有測試過,不過安卓 7 版本以下的估計都可以。

弄完了以上的東西就可以抓包了,如果設置完了,網路沒了,還是那樣子,第一次設置完需要重啟下 Fiddler 軟體就可以抓包了。

3.3 抓包內容的介紹

很明顯左邊的就是捕捉的請求和響應,右邊的就是對應請求的詳細信息,比如請求頭,表單信息,比如上圖下面箭頭所指的就是表單信息。,如果這些信息看到的內容很少的話,可以直接點擊下面的 View in Notepad 按鈕就可以在筆記本中顯示出來,非常方便。

左邊每列代表的含義為:

左邊第一列中每個圖片代表的含義為:

3.4 再說幾個常用的功能

查找:抓包時,經常會抓到一堆不重要的包,而需要找的包夾雜在裡面非常難找,所以就可以用關鍵字來查找,入口為:

也可以直接點擊這個

或者直接按快捷鍵 Ctrl + F 即可

這裡的功能很強大,可以只查找請求或者響應或者兩個都查,還可以用正則表達式來查找,就不一 一說了。

映射:也就是重定向,將伺服器端的響應內容可以更改為客戶端上的文件,功能也是很強大,之前我在爬取網易雲評論時也是弄過的,有興趣的可以看看利用python爬取網易雲音樂,並把數據存入mysql。

在這裡填寫對應的規則和文件即可

還有一個類似於 postman的功能,就是下面這個

就是在這裡模擬請求,有什麼需要模擬的話可以先在這裡模擬一次,成功之後再用編程去敲出來也是不錯的,非常強大。

由於篇幅問題,還有一些功能就暫時不介紹了,等以後用到的時候會說哈,比如斷點調試之類的,到時記得時刻關注哦!


推薦閱讀:
相關文章