python筆記 學會使用Fiddler

2022-05-16 20:32:39 字數 2771 閱讀 3366

fiddler是乙個常見的抓包分析軟體,同時我們可以利用它詳細地對http請求進行分析,並模擬對應的http請求.

為什麼使用fiddler軟體?

網路爬蟲是自動爬取網頁的程式,在爬取的過程中必然涉及客戶端和服務端的通訊,自然也需要傳送一些http請求,並接受伺服器返回的結果.在一些稍複雜的網路請求紅,我們直接看**變化時看不出規律的,此時如果要進行自動化爬取網頁,就必須要通過程式結果這些請求,而通過程式結果這些請求,就必須首先分析這些請求的規律,所以此時我們要使用工具攔截這些請求,對其分析,這個過程如果使用抓包軟體配合進行,則會變得更加輕鬆.

fiddler的基本原理

在下圖可以看出,如果沒有fiddler,本地應用如果要與伺服器進行通訊,可以直接向伺服器傳送request請求,待伺服器處理之後將處理結果返回本地,本地應用接受響應response.

如果有fiddler,本地應用與伺服器之間所有的request和response都將經過fiddler,由fiddler進行**,可以看出,此時fiddler以**伺服器的方式存在,由於所有的網路資料都會經過fiddler,自然fiddler能過攔截獲取這些資料,始興縣網路資料的抓包.

fiddler的基本介面

在下圖中,(1)處指位置為fiddler的選單欄,(2)處所指位置為fiddler的工具欄,(3)處所指為fiddler的會話欄,我們本地應用與網際網路通訊的會話資訊在此顯示,(4)處所指位置是fiddler的quickexec命令輸入視窗,在此我們可以輸入一些fiddler指定來快速實現某些功能

fiddler捕獲會話功能

安裝完fiddler後,我們就學習如何使用它捕獲瀏覽器與伺服器之間的會話資訊.在此以firefox火狐瀏覽器為例,讓火狐瀏覽器使用fiddler作為其**伺服器,設定火狐瀏覽器的方法如下:

首先點選火狐瀏覽器的設定,在點選高階,在"高階"中將標籤切換成"網路".

隨後在"網路"下方看到鏈結"字樣",我們單擊"鏈結"右方的設定,單擊後選擇"手動配置**",並將"http"**設定為"127.0.0.1",埠設定為"8888",因為fiddler監控的位址是127.0.0.1:8888.設定好之後,點選"確定"

現在**有的使用http協議,有的使用https協議,如果想讓fiddler能夠捕獲他們,還需要設定下fiddler,開啟fidddler,然後單擊"tools",選擇"fiddler-->options",在隨後彈出的介面中選擇"https"標籤,將下方選項全部勾選上,配置好之後,現在的fiddler就能捕獲火狐瀏覽器與伺服器之間的http和https會話資訊了.

任意開啟乙個**可以看到以一下介面,此時的標籤時"statistics",顯示的是一些頁面統計資訊.

將標籤切換為"inspectors",顯示的是一些嗅探細資訊,並且該標籤下有很多子標籤,比如"headers",字標籤表示的網頁是一些頭資訊.

使用quickexec命令列

在fiddler中我們可以使用命令快速完成一些功能,在fiddler介面中,會話列表下方有乙個輸入小框,在此介紹一些常用的fiddler命令.

1.cls

cls是清屏命令,輸入該命令可以清空會話列表的所有會話,有時候,由於傳遞的資料增多,在fiddler會話列表中會出現大量的會話資訊,此時介面相對來說比較雜亂,所以在可以輸入該命令清空回話資訊列表.

通過select命令我們可以選擇出某一型別http會話功能,比如想選擇出所有html網頁型別的http回話,可以輸入命令:select html,輸入命令後回車可以發現.會話列表中所有html型別的會話都已被選中.

如果想選出所有型別的會話資訊,可以輸入命令:select image

3.?? 命令可以查詢出**中包含某些字元的會話資訊,比如"?pic"可以查詢出**中包含"pic"字串的會話資訊

4. hetlp命令

help命令可以開啟fiddler官方的使用手冊.

學會使用SafeArray

學會使用safearray也是很重要的,因為在ado程式設計中經常要用。它的主要目的是用於automation中的陣列型引數的傳遞。因為在網路環境中,陣列是不能直接傳遞的,而必須將其包裝成safearray。實質上safearray就是將通常的陣列增加乙個描述符,說明其維數 長度 邊界 元素型別等資...

學會使用Git

作為一名人民的好幹部,如果希望被惦記,可以學我們的鄭書記,將自己和藹可親的光輝形象搬上檯曆 作為一名有夢想有追求而又不知道如何出名的人,你可以參考對岸的 超想被包養 社團。而作為乙個核心愛好者,要想成為一名核心開發者,為核心貢獻自己的 我們必須要能夠與其他眾多的核心開發者協同工作,這就意味著應該能夠...

學會使用SafeArray

學會使用safearray也是很重要的,因為在ado程式設計中經常要用。它的主要目的是用於automation中的陣列型引數的傳遞。因為在網路環境中,陣列是不能直接傳遞的,而必須將其包裝成safearray。實質上safearray就是將通常的陣列增加乙個描述符,說明其維數 長度 邊界 元素型別等資...