當前位置:首頁 » 網頁前端 » fiddler腳本
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

fiddler腳本

發布時間: 2022-02-15 01:33:54

⑴ 怎樣使用fiddler進行抓包

Fiddler是一個http調試代理,它能 夠記錄所有的你電腦和互聯網之間的http通訊,Fiddler 可以也可以讓你檢查所有的http通訊,設置斷點,以及Fiddle 所有的「進出」的數據(指cookie,html,js,css等文件,這些都可以讓你胡亂修改的意思)。 Fiddler 要比其他的網路調試器要更加簡單,因為它僅僅暴露http通訊還有提供一個用戶友好的格式。

Fiddler是最強大最好用的Web調試工具之一,它能記錄所有客戶端和伺服器的http和https請求,允許你監視,設置斷點,甚至修改輸入輸出數據,Fiddler包含了一個強大的基於事件腳本的子系統,並且能使用.net語言進行擴展。你對HTTP 協議越了解, 你就能越掌握Fiddler的使用方法。你越使用Fiddler,就越能幫助你了解HTTP協議。Fiddler無論對開發人員或者測試人員來說,都是非常有用的工具。

⑵ 你好,能請教一下關於fiddler2使用的一些情況嗎

Fiddler2主菜單

六個主菜單分別是:

文件(File)
Capture Traffic ——啟用捕獲功能,快捷鍵 F12

此功能的開啟/關閉狀態,程序安裝後默認是開啟的。可以在 Fiddler 底部狀態欄最左側看到:(開啟狀態)、(關閉狀態)

也可以通過滑鼠點擊狀態欄該圖標來進行切換。
Load Archive... ——載入本地保存的 Session 壓縮包
Save ——保存
All Sessions... ——保存捕獲到的全部 Session 到壓縮包
Selected Sessions

· inArchiveZip... ——保存當前選定的Session 為壓縮包

· in VisualStudio Web Test... ——保存當前選定的 Session 為 Visual Studio Web Test

· in Text... ——保存當前選定的 Session為文本

· in Text(Headers only)... ——保存當前選定的 Session 為文本(僅 Header)
Request

· EntireRequest... ——保存當前選定的Session 整個請求(包括 Header)

· RequestBody... ——保存當前選定的Session 請求的內容(不包括Header)
Response

· EntireResponse... ——保存當前選定的Session 整個響應(包括 Header)

· ResponseBody... ——保存當前選定的Session 響應的內容(不包括Header)
Properties ——當前選擇 Session 的屬性

包括 Session 狀態、響應包的大小,客戶端伺服器信息(如進程、埠、傳輸位元組數、TTLB、客戶端IP、伺服器IP、TTFB等),請求各環節的時間情況、WinINET 緩存信息等。如下圖:

TTFB (Time-to-First-Byte) 是指:從第一個請求發出到測試工具接收到伺服器應答數據的第一個位元組之間的平均時間。

TTLB (Time-to-Last-Byte) 是指:從第一個請求發出到測試工具接收到伺服器應答數據的最後一個位元組之間的平均時間。
Exit ——退出 Fiddler
編輯(Edit)
Copy ——復制
Session ——復制整個 Session 到剪貼板,快捷鍵 Ctrl + C
Just Url ——復制 Session 的 URL 到剪貼板,快捷鍵 Ctrl+ U
Headers Only ——復制 Session 的 Header 到剪貼板,快捷鍵 Ctrl + Shift + C
Full Summary ——復制 Session 全部摘要到剪貼板
Terse Summary ——復制 Session 簡單摘要到剪貼板,快捷鍵 Ctrl + Shift + T
Remove ——移除
Selected Sessions ——移除所選的 Session,快捷鍵 Delete
Unselected Sessions ——移除未選擇的 Session,快捷鍵 Shift + Delete
All Sessions ——移除所有 Session,快捷鍵 Ctrl + X
Select All ——選擇所有 Session
Mark
Red ——將選擇的 Session 標為紅色粗體,快捷鍵 Ctrl + 1
Blue ——將選擇的 Session 標為藍色粗體,快捷鍵 Ctrl + 2
Gold ——將選擇的 Session 標為金色粗體,快捷鍵 Ctrl + 3
Green ——將選擇的 Session 標為綠色粗體,快捷鍵 Ctrl + 4
Orange ——將選擇的 Session 標為橙色粗體,快捷鍵 Ctrl + 5
Purple ——將選擇的 Session 標為紫色粗體,快捷鍵 Ctrl + 6
Unmark ——去除顏色加粗標記,快捷鍵 Ctrl + 0
Find Session... ——退出 Fiddler
規則(Rules)
Hide Image Requests ——隱藏圖片請求
Hide HTTPS CONNECTs ——隱藏 HTTPS 連接
Automatic Breakpoints ——自動設置斷點
Before Requests ——在請求前設置斷點,快捷鍵 F11
After Response ——在響應後設置斷點,快捷鍵 Alt + F11
Disabled ——不自動設置斷點,快捷鍵 Shift + F11
Ignore Images ——自動設置斷點時忽略圖片
Customize Rules... ——自定義規則
Require Proxy Authentication ——需要代理密碼驗證
Apply GZIP Encoding ——應用 GZIP 壓縮
Remove All Encoding ——移除所有編碼
Hide 304s ——隱藏所有狀態為 304(無變更) 的請求
Request Japanese Content ——請求日文內容
User-Agents ——選擇用戶 Web 客戶端代理類型,包括了目前主流的瀏覽器
Performance ——性能
Simulate Modem speeds ——模擬數據機速度
Disable Caching ——禁止緩存
Show Time-to-Last-Byte ——顯示 TTLB
Show Response Timestamp ——顯示響應時間戳
工具(Tools)
Fiddler Options... ——Fiddler 選項
WinINET Options... ——IE 瀏覽器 WinINET 選項
Clear WinINET Cache ——清除 WinINET 緩存,快捷鍵 Ctrl + Shift + X
Clear WinINET Cookies ——清除 WinINET 緩存
Text Encode/Decode... ——文本編碼/解碼,快捷鍵 Ctrl + E

可以進行文本的 Base64編碼/解碼、UrlEnccode/UrlDecode、十六進制編碼、轉 JS 字元串、HTML 編碼/解碼、UTF-7 編碼/解碼
Compare Sessions ——使用 Microsoft Windiff.exe 對比選擇的 Session,快捷鍵 Ctrl + W
Reset Script ——重置腳本
Sandbox ——沙箱 http://www.fiddler2.com/sandbox/
View IE Cache ——查看 IE 緩存文件夾
視圖(View)
Squish Session List ——收縮/展開 Session 列表,快捷鍵 F6

也可以使用 WebSession 面板的按鈕,詳見 WebSessions 面板介紹
Stacked Layout ——切換面板布局
Statistics ——Statistics 頁簽,快捷鍵 F7
Inspector ——Inspector 頁簽,快捷鍵 F8
Builder ——Request Builder 頁簽,快捷鍵 F9
Minimize to Tray ——縮小為任務欄圖標,快捷鍵 Ctrl + M
Stay on Top ——保持在其他窗口前端
AutoScroll Session List ——自動滾動 Session 列表
Refresh ——刷新,快捷鍵 F5
幫助(Help)
Fiddler Help ——Fiddler 在線幫助
Fiddler Community Discussions ——Fiddler 社區在線討論
HTTP References ——在線 HTTP 參考,包括各種 HTTP 響應狀態碼
Check for Updates... ——檢查更新
Send Feedback... ——發送回饋
About Fiddler ——關於 Fiddler

Fiddler2工具欄

完整工具欄如下圖:

如果工具欄被關閉,可以通過如下方式開啟:

主菜單 Tools-> Fiddler Options... -> Appearance -> Show Fiddler Toolbar,打勾確認即可。

下面逐一講解各按鈕的用途:
Comment ——給選定的 Session 增加一個備注,添加後會顯示在 Web Sessions 面板的 Comments 欄位中
Reissue ——重新請求選定的 Session
Remove
All ——移除所有 Session,快捷鍵 Ctrl + X
Remove Images ——移除所有圖片請求 Session
Remove CONNECTs ——移除所有 HTTPS 請求 Session
Remove non-200s ——移除所有 HTTP 狀態不是 200 的 Session
Resume All ——繼續所有此刻在斷點被停止的 Session
Streaming ——開啟流模式(Streaming Mode),此模式開啟的時候,所有斷點都被忽略,所有 HTTP 響應都流化。

關於流模式,請點擊這里。
Find ——按條件查找 Session

Save ——保存選定的 Session
Lunch IE ——在 IE 中載入選定的 SessionURL,如果沒選擇,就打開about:blank
Clear Cache ——清空緩存
Encoder ——文本編碼/解碼,與菜單 Tools-> Text Encode/Decode... 相同,快捷鍵 Ctrl + E
Tearoff ——將頁簽浮動
MSDN Search ——在 MSDN 上查找指定關鍵字
Help ——打開在線幫助
× ——隱藏工具欄

Fiddler2Web Session 面板

完整工具欄如下圖:

此列表顯示所有 HTTP 請求的相關信息,從左到右各列分別代表:
[#] —— HTTP Request 的順序,從 1 開始,按照頁面載入請求的順序遞增。
[Result] —— HTTP 響應的狀態,可以參考這里。
[Protocol] ——請求使用的協議(如 HTTP/HTTPS/FTP)
[Host] ——請求地址的域名
[URL] ——請求的伺服器路徑和文件名,也包括 GET 參數
[BODY] ——請求的大小,以 byte 為單位
[Caching] ——請求的緩存過期時間或緩存控制 header 等值
[Content-Type] —— 請求響應的類型 (Content-Type)
[Process] ——發出此請求的 Windows 進程及進程 ID
[Comments] ——用戶通過腳本或者右鍵菜單給此 session 增加的備注
[Custom] ——用戶可以通過腳本設置的自定義值

Session 列表使用不同的顏色表示不同的 HTTP 狀態(紅色表示錯誤,黃色表示驗證要求(authentication demands)),通訊類型(灰色表示 HTTPS 連接),響應類型(紫色表示 CSS,藍色表示 HTML,綠色表示腳本,灰色表示圖片)。

你可使用 FiddlerScript來自定義 session 請求的文本顏色。
[#] 列中使用不同的圖標表示不同響應類型:
—— 請求已被發送到伺服器
—— 從伺服器下載響應結果
—— 請求在斷點處被暫停
—— 響應在斷點處被暫停
—— 請求使用 HTTP HEAD 方法,響應沒有內容
—— 請求使用 HTTP CONNECT 方法,使用 HTTPS 協議建立連接通道
—— 響應是 HTML 格式
—— 響應是圖片格式
—— 響應是腳本文件
—— 響應是 CSS 文件
—— 響應是 XML 文件
—— 普通響應成功
—— 響應是 HTTP 300/301/302/303/307 轉向
—— 響應是 HTTP 304 (無變更),使用緩存文件
—— 響應需要客戶端驗證
—— 響應是伺服器錯誤
—— 請求被客戶端、Fiddler 或者伺服器終止 (Aborted)
Web Sessions 右鍵菜單

下列菜單項已經在主菜單中有介紹:[View]AutoScroll Session List、[Edit]Copy、[Edit]Save、[Edit]Remove、[Edit]Mark、[Tools]Compare、[File]Properties,這里不再復述。
Decode Selected Sessions —— 如果請求使用了 GZIP 壓縮,就解碼
Comment... ——給 Session 增加備注
Replay
Reissue Requests —— 重新請求此地址
Reissue Unconditionally —— 無條件重新請求此地址
Revisit in IE —— 在 IE 中請求此地址,相當於工具欄的Launch IE
Select
Parent Request —— 選擇當前 session 的父請求,比如圖片的父請求就是嵌入它的頁面
Child Requests —— 選擇當前 session 的子請求,比如當前頁面的子請求是頁面內所有腳本、CSS、圖片等
Duplicate Requests —— 選擇全部相同地址的請求
Clone Response —— 克隆 Session 響應
Unlock For Editing —— 解鎖當前 session 以編輯,只針對文本資源,比如 HTML/JS/CSS
Squish Session List

Web Sessions 面板右上角的按鈕用於展開收縮 Web Session 面板,相當於主菜單 View -> Squish Session List

⑶ 如何運用Fiddler工具

Fiddler是最強大最好用的Web調試工具之一,它能記錄所有客戶端和伺服器的http和https請求,允許你監視,設置斷點,甚至修改輸入輸出數據. 使用Fiddler無論對開發還是測試來說,都有很大的幫助。
閱讀目錄
Fiddler的基本介紹
Fiddler的官方網站: www.fiddler2.com
Fiddler官方網站提供了大量的幫助文檔和視頻教程, 這是學習Fiddler的最好資料。
Fiddler是最強大最好用的Web調試工具之一,它能記錄所有客戶端和伺服器的http和https請求,允許你監視,設置斷點,甚至修改輸入輸出數據,Fiddler包含了一個強大的基於事件腳本的子系統,並且能使用.net語言進行擴展
你對HTTP 協議越了解, 你就能越掌握Fiddler的使用方法. 你越使用Fiddler,就越能幫助你了解HTTP協議.
Fiddler無論對開發人員或者測試人員來說,都是非常有用的工具
Fiddler的工作原理
Fiddler 是以代理web伺服器的形式工作的,它使用代理地址:127.0.0.1, 埠:8888. 當Fiddler會自動設置代理, 退出的時候它會自動注銷代理,這樣就不會影響別的程序。不過如果Fiddler非正常退出,這時候因為Fiddler沒有自動注銷,會造成網頁無法訪問。解決的辦法是重新啟動下Fiddler.

同類的其它工具
同類的工具有: httpwatch, firebug, wireshark

Fiddler 如何捕獲Firefox的會話
能支持HTTP代理的任意程序的數據包都能被Fiddler嗅探到,Fiddler的運行機制其實就是本機上監聽8888埠的HTTP代理。 Fiddler2啟動的時候默認IE的代理設為了127.0.0.1:8888,而其他瀏覽器是需要手動設置的,所以將Firefox的代理改為127.0.0.1:8888就可以監聽數據了。
Firefox 上通過如下步驟設置代理
點擊: Tools -> Options, 在Options 對話框上點擊Advanced tab - > network tab -> setting.

Firefox 中安裝Fiddler插件
修改Firefox 中的代理比較麻煩, 不用fiddler的時候還要去掉代理。 麻煩
推薦你在firefox中使用fiddler hook 插件, 這樣你非常方便的使用Fiddler獲取firefox中的request 和response
當你安裝fiddler後, 就已經裝好了Fiddler hook插件, 你需要到firefox中去啟用這個插件
打開firefox tools->Add ons -> Extensions 啟動 FiddlerHook

Fiddler如何捕獲HTTPS會話
默認下,Fiddler不會捕獲HTTPS會話,需要你設置下, 打開Fiddler Tool->Fiddler Options->HTTPS tab

選中checkbox, 彈出如下的對話框,點擊"YES"

點擊"Yes" 後,就設置好了
Fiddler的基本界面
看看Fiddler的基本界面

Inspectors tab下有很多查看Request或者Response的消息。 其中Raw Tab可以查看完整的消息,Headers tab 只查看消息中的header. 如下圖

Fiddler的HTTP統計視圖
通過陳列出所有的HTTP通信量,Fiddler可以很容易的向您展示哪些文件生成了您當前請求的頁面。使用Statistics頁簽,用戶可以通過選擇多個會話來得來這幾個會話的總的信息統計,比如多個請求和傳輸的位元組數。
選擇第一個請求和最後一個請求,可獲得整個頁面載入所消耗的總體時間。從條形圖表中還可以分別出哪些請求耗時最多,從而對頁面的訪問進行訪問速度優化

QuickExec命令行的使用
Fiddler的左下角有一個命令行工具叫做QuickExec,允許你直接輸入命令。
常見得命令有
help 打開官方的使用頁面介紹,所有的命令都會列出來
cls 清屏 (Ctrl+x 也可以清屏)
select 選擇會話的命令
?.png 用來選擇png後綴的圖片
bpu 截獲request

Fiddler中設置斷點修改Request
[作者:小坦克] Fiddler最強大的功能莫過於設置斷點了,設置好斷點後,你可以修改httpRequest 的任何信息包括host, cookie或者表單中的數據。設置斷點有兩種方法
第一種:打開Fiddler 點擊Rules-> Automatic Breakpoint ->Before Requests(這種方法會中斷所有的會話)
如何消除命令呢? 點擊Rules-> Automatic Breakpoint ->Disabled
第二種: 在命令行中輸入命令: bpu www..com (這種方法只會中斷www..com)
如何消除命令呢? 在命令行中輸入命令 bpu

看個實例,模擬博客園的登錄, 在IE中打開博客園的登錄頁面,輸入錯誤的用戶名和密碼,用Fiddler中斷會話,修改成正確的用戶名密碼。這樣就能成功登錄
1. 用IE 打開博客園的登錄界面 http://passport.cnblogs.com/login.aspx
2. 打開Fiddler, 在命令行中輸入bpu http://passport.cnblogs.com/login.aspx
3. 輸入錯誤的用戶名和密碼 點擊登錄
4. Fiddler 能中斷這次會話,選擇被中斷的會話,點擊Inspectors tab下的WebForms tab 修改用戶名密碼,然後點擊Run to Completion 如下圖所示。
5. 結果是正確地登錄了博客園

Fiddler中設置斷點修改Response
當然Fiddler中也能修改Response
第一種:打開Fiddler 點擊Rules-> Automatic Breakpoint ->After Response (這種方法會中斷所有的會話)
如何消除命令呢? 點擊Rules-> Automatic Breakpoint ->Disabled
第二種: 在命令行中輸入命令: bpafter www..com (這種方法只會中斷www..com)
如何消除命令呢? 在命令行中輸入命令 bpafter,

具體用法和上節差不多,就不多說了。
Fiddler中創建AutoResponder規則
Fiddler 的AutoResponder tab允許你從本地返迴文件,而不用將http request 發送到伺服器上。
看個實例. 1. 打開博客園首頁,把博客園的logo圖片保存到本地,並且對圖片做些修改。
2. 打開Fiddler 找到logo圖片的會話, http://static.cnblogs.com/images/logo_2012_lantern_festival.gif, 把這個會話拖到AutoResponer Tab下
3. 選擇Enable automatic reaponses 和Unmatched requests passthrough
4. 在下面的Rule Editor 下面選擇 Find a file... 選擇本地保存的圖片. 最後點擊Save 保存下。
5. 再用IE博客園首頁, 你會看到首頁的圖片用的是本地的。

Fiddler中如何過濾會話
每次使用Fiddler, 打開一個網站,都能在Fiddler中看到幾十個會話,看得眼花繚亂。最好的辦法是過濾掉一些會話,比如過濾掉圖片的會話. Fiddler中有過濾的功能, 在右邊的Filters tab中,裡面有很多選項, 稍微研究下,就知道怎麼用。

Fiddler中會話比較功能
選中2個會話,右鍵然後點擊Compare,就可以用WinDiff來比較兩個會話的不同了 (當然需要你安裝WinDiff)

Fiddler中提供的編碼小工具
點擊Fiddler 工具欄上的TextWizard, 這個工具可以Encode和Decode string.

Fiddler中查詢會話
用快捷鍵Ctrl+F 打開 Find Sessions的對話框,輸入關鍵字查詢你要的會話。 查詢到的會話會用黃色顯示

Fiddler中保存會話
有些時候我們需要把會話保存下來,以便發給別人或者以後去分析。 保存會話的步驟如下:
選擇你想保存的會話,然後點擊File->Save->Selected Sessions
Fiddler的script系統
Fiddler最復雜的莫過於script系統了 官方的幫助文檔: http://www.fiddler2.com/Fiddler/dev/ScriptSamples.asp
首先先安裝SyntaxView插件,Inspectors tab->Get SyntaxView tab->Download and Install SyntaxView Now... 如下圖

安裝成功後Fiddler 就會多了一個Fiddler Script tab, 如下圖

在裡面我們就可以編寫腳本了, 看個實例 讓所有cnblogs的會話都顯示紅色。
把這段腳本放在OnBeforeRequest(oSession: Session) 方法下,並且點擊"Save script"
if (oSession.HostnameIs("www.cnblogs.com")) {
oSession["ui-color"] = "red";
}

這樣所有的cnblogs的會話都會顯示紅色

如何在VS調試網站的時候使用Fiddler
我們在用visual stuido 開發ASP.NET網站的時候也需要用Fiddler來分析HTTP, 默認的時候Fiddler是不能嗅探到localhost的網站。不過只要在localhost後面加個點號,Fiddler就能嗅探到。
例如:原本ASP.net的地址是 http://localhost:2391/Default.aspx, 加個點號後,變成 http://localhost.:2391/Default.aspx 就可以了

第二個辦法就是在hosts文件中加入 127.0.0.1 localsite
如何你訪問http://localsite:埠號 。 這樣Fiddler也能截取到了。

Response 是亂碼的
有時候我們看到Response中的HTML是亂碼的, 這是因為HTML被壓縮了, 我們可以通過兩種方法去解壓縮。
1. 點擊Response Raw上方的"Response is encoded any may need to be decoded before inspection. click here to transform"
2. 選中工具欄中的"Decode"。 這樣會自動解壓縮。

⑷ Fiddler能抓包,Jmeter也能,為什麼還要用Fiddler

如果只是為了,抓包介面出來做測試,功能上還真的沒啥不一樣的。都是利用代理伺服器的形式,抓取數據包。
只不過fiddler在抓包功能上更強大,在抓包的同時,還能設置斷點等。一般抓取後,需要將需要的參數 ,header等信息手動錄入到測試工具 (如jmeter,postman,或者是lr等)裡面 形成腳本,一般出錯也是在這個環節,因為錄入的時候很多時候容易疏忽,比如參數名,請求頭等信息。
單就使用jmeter測試介面的話說,我覺得jmeter的代理伺服器更方便,抓取完成後,直接就形成jmeter腳本了。同樣的也能設置篩選器,過濾出不要的東西,並且設置上更簡單,中文版適合初學者使用。
其實現在的 瀏覽器比如chrome,360 ,網路等瀏覽器,的開發者工具也是帶了簡單抓包功能的。一個F12就行了。同樣可以查看到介面的信息,但是這種只針對電腦web了。

⑸ Fiddler怎麼載入js腳本啊 求解答

建議你看一下fiddler使用的視頻。
會讓你學到更多知識。

⑹ 如何在Fiddler script中捕獲請求結果並針對返回內容發起一個新請求

通過FiddlerScript實現根據條件重發請求

Fiddler是個強大的Web調試工具,具體的功能不在此多述,可以參考後面的鏈接以及Fiddler官網的手冊。本文主要介紹Fiddler的重發請求功能,並通過自定義腳本實現根據條件來重發請求。 在進行Web調試時,經常會遇到瀏覽器請求正常但是程序請求異常的情況,這時我們常常需要使用Fiddler對比這兩個請求的異同,然後將一個請求改變參數或HTTP頭進行重發來查看返回結果的差異,這樣可以確定哪個參數或哪個HTTP頭導致的問題。如下圖重發可以有多種不同的選擇,常用的有三個:

  • Reissue Requests: 直接重發選定請求

  • Reissue and Edit: 重發選定請求,並在請求之前斷點,可以對請求進行修改

  • Reissue from Composer: 將選定請求送到Composer窗口,和將請求拖拽到Composer效果是一樣的,在Composer窗口中可以對請求有更精確的控制

  • 只簡單的重發指定請求,或在指定請求上進行編輯往往是不夠的,在項目中我們偶爾會遇到這樣的情形:先發送請求A,然後根據請求A結果中的某個值來發送請求B,譬如有這樣的兩個介面:get_random_server.php介面通過接收的數據隨機返回一個伺服器ID,get_data.php介面則根據剛剛的伺服器ID來獲取數據。下面是一個示例:

  • localhost/get_random_server.php?data=Hello -> 返回JSON結果:{ success: true, sid: 2 }

  • localhost/get_data.php?sid=2

  • 這個時候Fiddler的可擴展性就能大顯神威了,可以通過兩種方式實現Fiddler的擴展:FiddlerScript和插件機制,這里使用FiddlerScript就足夠應付了。在Fiddler的菜單項Rules中選擇Customize Rules...就可以打開Fiddler的自定義腳本文件CustomRules.js,該腳本一般保存在DocumentsFiddler2Scripts目錄下。我推薦使用Fidder ScriptEditor進行腳本的編輯,Fidder ScriptEditor具有語法高亮和語法檢查的功能,並在右側面板提供了Fiddler內置的函數列表。 通過展開瀏覽右側的函數列表,就基本上可以大概的了解到幾個可能會用到的函數了:

  • FiddlerApplication.oProxy.SendRequest

  • FiddlerApplication.oProxy.SendRequestAndWait

  • FiddlerObject.utilIssueRequest

  • 我們先通過下面的代碼來練練手,將下面的代碼拷貝到CustomRules.js中並保存,Fidder ScriptEditor會自動檢查語法錯誤,並重新載入腳本,無需重啟Fiddler腳本即可生效。CustomRules.js使用的是JScript.Net語法,對於Javascipt或.C#程序員應該可以很快上手。這時在Fiddler中隨便選擇一條請求,點擊右鍵,會發現最上面多了一個選擇項Test Send Request,選擇該項可以達到和Reissue Requests同樣的功能,重發指定請求。

    12345678910111213
  • public static ContextAction("Test Send Request")function SendRequest(oSessions: Session[]) {if (oSessions.Length == 0) return;FiddlerApplication.Log.LogString("Sending...");var selected: Session = oSessions[0];var oSD = new System.Collections.Specialized.StringDictionary();var res = FiddlerApplication.oProxy.SendRequestAndWait(selected.oRequest.headers, selected.RequestBody, oSD, null);FiddlerApplication.Log.LogString("Request has been Send.");FiddlerApplication.Log.LogString(res.GetResponseBodyAsString());}
  • SendRequest/SendRequestAndWait函數有一個不方便之處,他的兩個參數oHeaders和arrRequestBodyBytes分別是HTTPRequestHeaders和Byte[]類型,為了調用這個方法必須將HTTP的header和body轉換為這兩個類型,不如字元串來的簡便。這個時候utilIssueRequest函數正好滿足我們的定製需要,可以精確的控制一個請求的細節,類似於Composer中的Raw。下面的代碼是一個使用utilIssueRequest函數的實例,具體的HTTP請求以字元串的形式拼接起來。

  • public static ContextAction("Probe this!")function ProbeSession(oSessions: Session[]) {if (oSessions.Length == 0) return;FiddlerApplication.Log.LogString("Probing...");var selected: Session = oSessions[0];var raw = "";// methodsvar method:String = selected.RequestMethod;var url:String = selected.fullUrl;var protocol = "HTTP/1.1";FiddlerApplication.Log.LogString(method + " " + url + " " + protocol);raw += method + " " + url + " " + protocol + " ";// headersfor (var i:int = 0; i < selected.oRequest.headers.Count(); i++) {var header = selected.oRequest.headers[i];FiddlerApplication.Log.LogString(header);raw += header + " ";}// bodyFiddlerApplication.Log.LogString("---");var body = selected.GetRequestBodyAsString();FiddlerApplication.Log.LogString(body);raw += " " + body;FiddlerObject.utilIssueRequest(raw);FiddlerApplication.Log.LogString("Request has been Send.");}
  • HTTP請求的格式如下:

    1234567891011
  • POST http://localhost/get_random_server.php HTTP/1.1Host: localhostConnection: keep-aliveAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36Accept-Encoding: gzip,deflate,sdchAccept-Language: zh-CN,zh;q=0.8,en-US;q=0.6,en;q=0.4Content-Type: application/x-www-form-urlencodedContent-Length: 23data=%E4%BD%A0%E5%A5%BD
  • 後面的工作就水到渠成了,通過SendRequestAndWait獲取請求A的結果,解析請求A結果獲取sid參數,然後拼接HTTP請求調用utilIssueRequest函數,此處從略。

⑺ 模擬器微信是不是沒辦法用fiddler抓包

Fiddler抓取HTTP請求。

抓包是Fiddler的最基本的應用,以本博客為例,啟動Fiddler之後,在瀏覽器中輸入 鍵入回車之後,在Fiddler的web session界面捕獲到的HTTP請求如下圖所示:

各欄位的詳細說明已經解釋過,這里不再說明。需要注意的是#號列中的圖標,每種圖標代表不同的相應類型,具體的類型包括:

另外,注意請求的host欄位。可以看到有來自多個www.csdn.net的子域名的響應,說明在大型網站的架構中,大多需要多個子域名,這些子域名可能是單獨用於緩存靜態資源的,也可能是專門負責媒體資源的,或者是專門負責數據統計的(如pingback)。

右鍵單擊其中的一條請求。可以選擇的操作有:save(保存請求的報文信息,可以是請求報文,可以是響應報文)。例如,我們保存的一條請求頭信息如下:

不僅是單條session,Fiddler還支持保存所有抓取到的session(並支持導入),這對於抓取可疑請求然後保存,並在之後隨時分析這些請求是很有幫助的。

如果想要重新發送某些請求,可以選中這些請求,然後點擊工具欄中的reply.就可以重新發送選中的這些請求。

左鍵點擊單條HTTP請求,可以在右側的tab面板中看到如下信息:

1. Statistic。

關於HTTP請求的性能和其他數據分析:

我們可以從中看出一些基本性能數據:如DNS解析的時間消耗是8ms,建立TCP/IP連接的時間消耗是8ms等等信息。

2. Inspectors。

分為上下兩個部分,上半部分是請求頭部分,下半部分是響應頭部分。對於每一部分,提供了多種不同格式查看每個請求和響應的內容。JPG 格式使用 ImageView 就可以看到圖片,HTML/JS/CSS 使用 TextView 可以看到響應的內容。Raw標簽可以查看原始的符合HTTP標準的請求和響應頭。Auth則可以查看授權Proxy-Authorization 和 Authorization的相關信息。Cookies標簽可以看到請求的cookie和響應的set-cookie頭信息。

3. AutoResponder

Fiddler比較重要且比較強大的功能之一。可用於攔截某一請求,並重定向到本地的資源,或者使用Fiddler的內置響應。可用於調試伺服器端代碼而無需修改伺服器端的代碼和配置,因為攔截和重定向後,實際上訪問的是本地的文件或者得到的是Fiddler的內置響應。當勾選allow autoresponser 並設置相應的規則後(本例中的規則是將http://blog.csdn.net/ohmygirl的請求攔截到本地的文件layout.html),如下圖所示

然後在瀏覽器中訪問 ,得到的結果實際為:

這剛好是本地layout.html的內容,說明請求已經成功被攔截到本地.當然也可以使用Fiddler的內置響應。下圖是Fiddler支持的攔截重定向的方式:

因此,如果要調試伺服器的某個腳本文件,可以將該腳本攔截到本地,在本地修改完腳本之後,再修改伺服器端的內容,這可以保證,盡量在真實的環境下去調試,從而最大限度的減少bug發生的可能性。

⑻ Fiddler軟體是什麼

Fiddler是一個web調試代理。它能夠記錄所有客戶端和伺服器間的http請求,允許你監視,設置斷點,甚至修改輸入輸出數據,fiddler包含了一個強大的基於事件腳本的子系統,並且能夠使用.net框架語言擴展。
微軟的Fiddler 包含一個簡單卻功能強大的基於JScript .NET 事件腳本子系統,他非常靈活性非常棒,可以支持眾多的http調試任務。Fiddler 是用C#寫出來的。它還是一個http調試代理,它能 夠記錄所有的你電腦和互聯網之間的http通訊,Fiddler 可以也可以讓你檢查所有的http通訊,設置斷點,以及Fiddle 所有的「進出」的數據(指cookie,html,js,css等文件,這些都可以讓你胡亂修改的意思)。 Fiddler 要比其他的網路調試器要更加簡單,因為它僅僅暴露http通訊還有提供一個用戶友好的格式。
Fiddler支持斷點調試概念,當你在軟體的菜單—rules—automatic breakpoints選項選擇beforerequest,或者當這些請求或響應屬性能夠跟目標的標准相匹配,Fiddler就能夠暫停Http通訊, 情切允許修改請求和響應。這種功能對於安全測試是非常有用的,當然也可以用來做一般的功能測試,因為所有的代碼路徑都可以用來演習。
用戶可以加入一個Inspector插件對象,來使用.net下的任何語言來編寫Fiddler擴展。RequestInspectors 和 ResponseInspectors提供一個格式規范的,或者是被指定的(用戶自定義)Http請求和響應視圖。
通過顯示所有的Http通訊,Fiddler可以輕松的演示哪些用來生成一個頁面,通過統計頁面(就是Fiddler左邊的那個大框)用戶可以很輕松的使用多選,來得到一個WEB頁面的「總重量」(頁面文件以及相關js,css等)你也可以很輕松得看到你請求的某個頁面,總共請求了多少次,以及多少位元組被轉化了。
另外,通過暴露HTTP頭,用戶可以看見哪些頁面被允許在客戶端或者是代理端進行緩存。如果要是一個響應沒有包含Cache-Control 頭,那麼他就不會被緩存在客戶端。

⑼ fiddler怎麼停止自動抓包

Fiddler是強大且好用的Web調試工具之一,它能記錄客戶端和伺服器的http和https請求,允許你監視,設置斷點,甚至修改輸入輸出數據,Fiddler包含了一個強大的基於事件腳本的子系統,並且能使用.net語言進行擴展,在web開發和調優中經常配合firebug使用。Fiddler的運行機制其實就是本機上監聽8888埠的HTTP代理。對於PC端Fiddler啟動的時候默認IE的代理設為了127.0.0.1:8888,而其他瀏覽器是需要手動設置的,所以如果需要監聽PC端Chrome網路請求,將其代理改為127.0.0.1:8888就可以監聽數據了,手機端按照下面的設置即可完成整個系統的http代理。