fiddler腳本
『壹』 如何設置fidder只對手機應用進行抓包
1、PC端安裝Fiddler
下載地址:Fiddler.exe,下面是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代理。
『貳』 如何在Fiddler script中捕獲請求結果並針對返回內容發起一個新請求
通過FiddlerScript實現根據條件重發請求
Fiddler是個強大的Web調試工具,具體的功能不在此多述,可以參考後面的鏈接以及Fiddler官網的手冊。本文主要介紹Fiddler的重發請求功能,並通過自定義腳本實現根據條件來重發請求。 在進行Web調試時,經常會遇到瀏覽器請求正常但是程序請求異常的情況,這時我們常常需要使用Fiddler對比這兩個請求的異同,然後將一個請求改變參數或HTTP頭進行重發來查看返回結果的差異,這樣可以確定哪個參數或哪個HTTP頭導致的問題。如下圖重發可以有多種不同的選擇,常用的有三個:
Reissue Requests: 直接重發選定請求
Reissue and Edit: 重發選定請求,並在請求之前斷點,可以對請求進行修改
Reissue from Composer: 將選定請求送到Composer窗口,和將請求拖拽到Composer效果是一樣的,在Composer窗口中可以對請求有更精確的控制
localhost/get_random_server.php?data=Hello -> 返回JSON結果:{ success: true, sid: 2 }
localhost/get_data.php?sid=2
FiddlerApplication.oProxy.SendRequest
FiddlerApplication.oProxy.SendRequestAndWait
FiddlerObject.utilIssueRequest
- 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());}
- 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.");}
- 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
只簡單的重發指定請求,或在指定請求上進行編輯往往是不夠的,在項目中我們偶爾會遇到這樣的情形:先發送請求A,然後根據請求A結果中的某個值來發送請求B,譬如有這樣的兩個介面:get_random_server.php介面通過接收的數據隨機返回一個伺服器ID,get_data.php介面則根據剛剛的伺服器ID來獲取數據。下面是一個示例:
這個時候Fiddler的可擴展性就能大顯神威了,可以通過兩種方式實現Fiddler的擴展:FiddlerScript和插件機制,這里使用FiddlerScript就足夠應付了。在Fiddler的菜單項Rules中選擇Customize Rules...就可以打開Fiddler的自定義腳本文件CustomRules.js,該腳本一般保存在DocumentsFiddler2Scripts目錄下。我推薦使用Fidder ScriptEditor進行腳本的編輯,Fidder ScriptEditor具有語法高亮和語法檢查的功能,並在右側面板提供了Fiddler內置的函數列表。 通過展開瀏覽右側的函數列表,就基本上可以大概的了解到幾個可能會用到的函數了:
我們先通過下面的代碼來練練手,將下面的代碼拷貝到CustomRules.js中並保存,Fidder ScriptEditor會自動檢查語法錯誤,並重新載入腳本,無需重啟Fiddler腳本即可生效。CustomRules.js使用的是JScript.Net語法,對於Javascipt或.C#程序員應該可以很快上手。這時在Fiddler中隨便選擇一條請求,點擊右鍵,會發現最上面多了一個選擇項Test Send Request,選擇該項可以達到和Reissue Requests同樣的功能,重發指定請求。
12345678910111213SendRequest/SendRequestAndWait函數有一個不方便之處,他的兩個參數oHeaders和arrRequestBodyBytes分別是HTTPRequestHeaders和Byte[]類型,為了調用這個方法必須將HTTP的header和body轉換為這兩個類型,不如字元串來的簡便。這個時候utilIssueRequest函數正好滿足我們的定製需要,可以精確的控制一個請求的細節,類似於Composer中的Raw。下面的代碼是一個使用utilIssueRequest函數的實例,具體的HTTP請求以字元串的形式拼接起來。
HTTP請求的格式如下:
1234567891011後面的工作就水到渠成了,通過SendRequestAndWait獲取請求A的結果,解析請求A結果獲取sid參數,然後拼接HTTP請求調用utilIssueRequest函數,此處從略。
『叄』 fiddler怎麼抓指定app
1、PC端安裝Fiddler
下載地址:Fiddler.exe,下面是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代理。2、 配置PC端Fiddler和手機
(1) 配置Fiddler允許監聽https
打開Fiddler菜單項Tools->Fiddler Options,選中decrypt https traffic和ignore server certificate errors兩項,如下圖:
fiddler https options
第一次會提示是否信任fiddler證書及安全提醒,選擇yes,之後也可以在系統的證書管理中進行管理。(2) 配置Fiddler允許遠程連接
如上圖的菜單中點擊connections,選中allow remote computers to connect,默認監聽埠為8888,若被佔用也可以設置,配置好後需要重啟Fiddler,如下圖:
(3) 配置手機端
Pc端命令行ipconfig查看Fiddler所在機器ip,本機ip為10.0.4.37
『肆』 怎麼根據fiddler手寫腳本
與httpwath相比,fiddler能模擬http請求、能斷點調試、http分析統計吸引了我,使用之後感覺
『伍』 誰會用Fiddler2對手機應用抓包,會刷微信的懂得
PS:需要1台PC做輔助,且PC需要與手機在同一區域網內或有獨立公網ip
1、PC端安裝Fiddler
下載地址:Fiddler.exe,下面是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代理。
2、 配置PC端Fiddler和手機
(1) 配置Fiddler允許監聽https
打開Fiddler菜單項Tools->Fiddler Options,選中decrypt https traffic和ignore server certificate errors兩項,如下圖:
第一次會提示是否信任fiddler證書及安全提醒,選擇yes,之後也可以在系統的證書管理中進行管理。
(2) 配置Fiddler允許遠程連接
如上圖的菜單中點擊connections,選中allow remote computers to connect,默認監聽埠為8888,若被佔用也可以設置,配置好後需要重啟Fiddler,如下圖:
(3) 配置手機端
Pc端命令行ipconfig查看Fiddler所在機器ip,本機ip為10.0.4.37,如下圖
打開手機連接到同一區域網的wifi,並修改該wifi網路詳情(長按wifi選擇->修改網路)->顯示高級選項,選擇手動代理設置,主機名填寫Fiddler所在機器ip,埠填寫Fiddler埠,默認8888,如下圖:
這時,手機上的網路訪問在Fiddler就可以查看了,如下圖微博和微信的網路請求:
可以雙擊上圖某一行網路請求,右側會顯示具體請求內容(Request Header)和返回內容(Response Header and Content),如下圖:
可以發現Fiddler可以以各種格式查看網路請求返回的數據,包括Header, TextView(文字), ImageView(圖片), HexView(十六進制),WebView(網頁形式), Auth(Proxy-Authenticate Header), Caching(Header cache), Cookies, Raw(原數據格式), JSON(json格式), XML(xml格式)很是方便。
停止網路監控的話去掉wifi的代理設置即可,否則Fiddler退出後手機就上不網了哦。
如果需要恢復手機無密碼狀態,Android端之後可以通過系統設置-安全-受信任的憑據-用戶,點擊證書進行刪除或清除憑據刪除所有用戶證書,再設置密碼為無。
如果只需要監控一個軟體,可結合系統流量監控,關閉其他應用網路訪問的許可權。
有什麼不明白可以聯系我
『陸』 如何運用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怎麼載入js腳本啊 求解答
建議你看一下fiddler使用的視頻。
會讓你學到更多知識。
『捌』 用fiddler錄制腳本,在頁面炒作有提示框出現時,提示框的腳本錄不上是為什麼怎麼辦
這是正常的,QTP有自己的識別機制,你可以留意一下QTP對象庫中的各個對象,即使是Browser下的對象有同名的,但是他的ID 也是不一樣的。只要你的腳本可以正常回放就沒事了。
『玖』 fiddler怎麼導出jmeter腳本
打開Badboy,在界面上輸入需要測試的地址並操作,導出為Jmeter支持的jmx類型。
不建議Badboy錄制,最好就使用抓包工具抓取請求自己手動填寫