fiddler小技巧

fiddler作為一個程序猿+測試媛必備的工具,其他除了最基本的使用方法之外入热,還有很多強大到不行小技巧

下面將遇到的一些坑爹的問題或者可以變得更方便的方式列舉一下~當然比較小白的問題巴柿,比如如何抓手機的包啊這些已經(jīng)排除在外了哈

一、tunnel to 443 是什么鬼!

這個tunnel to 443也的確是挺不順眼的舶吗,正如stackoverfolw上的回答一樣洒疚,我們可以看見這樣一句話

fiddler截圖

解釋了為什么會出現(xiàn)這個tunnel歹颓。

HttpTuunnel(也叫Http隧道坯屿,Http穿梭),是這樣一種技術(shù): 它用HTTP協(xié)議在要通信的Client和Server建立起一條”Tunnel”巍扛,然后Client和Server之間的通信领跛,都是在這條Tunnel的基礎之上。

簡單地說 fiddler 當做代理轉(zhuǎn)發(fā) https 請求的時候撤奸,就會產(chǎn)生 "CONNECT Tunnels"吠昭,所以大可忽略它。實在有強迫癥胧瓜,可以選擇隱藏Rules > Hide Connects

所以要抓https的包矢棚,還必須安裝fiddler的證書,果斷百度找教程府喳?蒲肋!去看官網(wǎng),簡直不能再詳細了劫拢,圖文說明~抓https的包get

既然已經(jīng)能成功抓包了肉津,那最好也了解一下fiddler抓取HTTPS協(xié)議原理,以下內(nèi)容摘自此文——淺談HTTPS以及Fiddler抓取HTTPS協(xié)議

首先看看最基本的https通信舱沧,具體的過程就不解釋了

普通的https通信

再看下加入了fiddler之后妹沙,這個具體的過程就解釋下


fiddler中的https通信
  1. Fiddler截獲客戶端發(fā)送給服務器的HTTPS請求,F(xiàn)iddler偽裝成客戶端向服務器發(fā)送請求進行握手 熟吏。
  2. 服務器發(fā)回相應距糖,F(xiàn)iddler獲取到服務器的CA證書, 用root證書公鑰進行解密牵寺, 驗證服務器數(shù)據(jù)簽名悍引, 獲取到服務器CA證書公鑰。然后Fiddler偽造自己的CA證書帽氓, 冒充服務器證書傳遞給客戶端瀏覽器趣斤。
  3. 與普通過程中客戶端的操作相同,客戶端根據(jù)返回的數(shù)據(jù)進行證書校驗黎休、生成密碼Pre_master浓领、用Fiddler偽造的證書公鑰加密,并生成HTTPS通信用的對稱密鑰enc_key势腮。
  4. 客戶端將重要信息傳遞給服務器联贩,又被Fiddler截獲。Fiddler將截獲的密文用自己偽造證書的私鑰解開捎拯, 獲得并計算得到HTTPS通信用的對稱密鑰enc_key泪幌。Fiddler將對稱密鑰用服務器證書公鑰加密傳遞給服務器。
  5. 與普通過程中服務器端的操作相同,服務器用私鑰解開后建立信任祸泪,然后再發(fā)送加密的握手消息給客戶端吗浩。
  6. Fiddler截獲服務器發(fā)送的密文,用對稱密鑰解開浴滴,再用自己偽造證書的私鑰加密傳給客戶端拓萌。
  7. 客戶端拿到加密信息后,用公鑰解開升略,驗證HASH微王。握手過程正式完成,客戶端與服務器端就這樣建立了“信任”

二品嚣、不想被pc上一堆雜七雜八的session打擾炕倘,我只想安靜的看關于Android的session

這個只要關閉pc的代理就好了呀~

點擊 Fiddler 左下角的“Capturing”。其實是File > Capture Traffic的快捷鍵翰撑,可以控制是否把 Fiddler 注冊為PC系統(tǒng)代理罩旋,當左下角顯示Capturing時,Capture Traffic是打開的眶诈,此時的IE的Internet選項>連接>局域網(wǎng)設置中的代理服務器是勾選的涨醋;否則是沒有勾選的。 也就是顯示了就抓pc的包逝撬,不顯示就不抓pc的包浴骂。

三、認識fiddler中session的快捷圖標

快捷圖標

官網(wǎng)也有啊宪潮,只不過是英文的哈哈溯警,其實用處也不是很大,大概記住就得了

四狡相、hosts的設置

在測試的時候梯轻,難免要配置hosts,連接到測試服務器尽棕,但是喳挑!總感覺在系統(tǒng)配置的hosts不起作用

fiddler reuses connections, so if there was already an established connection, any change to the HOSTS file might not be noticed. You might try hitting CTRL+X to clear the Web Sessions list and the cache of reused connections.

原來Fiddler 啟動時,修改 hosts 的時候是無效的滔悉,需要重啟 Fiddler才能生效蟀悦。當 Fiddler 已經(jīng)建立會話時,任何修改 hosts 的行為都不會被 Fiddler 注意到氧敢。

  1. 可以通過 Fiddler 的 Tools > HOSTS 處導入本地的 hosts文件。
  2. 需要指測試服務器的時候询张,勾選"Enable remapping of requests for one host to a different host or IP, overriding DNS",否則去掉勾選孙乖。

那么問題就來了,我怎么確定自己的請求的是正確的服務器呢?



我需要知道自己請求的ip地址是多少唯袄,哈哈

五弯屈、FiddlerScript

想說fiddler比charles更加人性化的地方就是,fiddler有一個FiddlerScript文件恋拷,可以修改超級多配置

第一次使用FiddlerScript资厉,點擊這里 Rules->Customize Rules,然后回彈出是否安裝一個編輯器的插件蔬顾,安裝了的話就可以直接在面板中進行修改宴偿,不安裝就要每次都在txt文檔里面修改,而且還不能保證編碼格式是utf-8的

FiddlerScript是用C#寫的诀豁,但是,有很多注釋,還有官網(wǎng)可以幫助學習

1. Modifying a Request or Response 修改請求和響應

OnBeforeRequest is called before each request, and OnBeforeResponse is called before each response.可以在OnBeforeRequest和OnBeforeResponse這兩個方法中修改請求和響應

2.Performance Testing 測試應用的表現(xiàn)

To test application performance, add rules using FiddlerScript to the OnBeforeResponse function (except where noted).包括限速纷纫、顯示服務器響應的時間里覆、顯示收到請求的時間等

3.Customize Menus 定制菜單欄

To customize menus in Fiddler, add rules using FiddlerScript with Global scope 添加各種菜單或者rule、tool等選項

4.定制session列表

To customize Fiddler's Web Sessions List or to pause specific sessions, add rules using FiddlerScript to the OnBeforeRequest function 可以在OnBeforeRequest中定制會話列表烹骨,將某些會話標記為紅色翻伺、粗體等等或暫停某些特殊的會話

5.暫停

To pause specific sessions, add rules using FiddlerScript to the OnBeforeRequest function 暫停某些對話,在fiddler就終止發(fā)送去服務器那邊

6.警告

To create alerts for specific sessions, add rules using FiddlerScript. 對于某些特殊的會話發(fā)出警告沮焕,例如文件丟失的時候發(fā)出聲音

7.會話列表中添加列

To add custom columns to the Web Sessions List, add rules using FiddlerScript. 添加客戶端端口吨岭、cookie的值等等這些列

大致了解FiddlerScript其實就可以做很多修改幫助我們改善fiddler了~

六、session中顯示服務器ip列

  1. 打開腳本編輯器
  2. 查找“static function Main()”字符串遇汞,然后添加下面這行代碼:
FiddlerObject.UI.lvSessions.AddBoundColumn("ServerIP", 120, "X-HostIP");

官網(wǎng)的教程中有寫到添加session列表的列

Alternatively, you can call the AddBoundColumn() method. The first parameter is the name with which the column should be named, and the second parameter is the default width of the column. The third parameter is either a Fiddler Session Flag string, an @-prefixed-header name, or a JavaScript function that returns a string.

自己翻譯的:第一個參數(shù):顯示列的名字未妹, 第二個參數(shù):默認列寬, 第三個參數(shù):顯示的數(shù)值空入,比如一個session有哪些屬性络它,或者是一個返回string的方法

  1. 左上角點擊保存
  2. 然后查看數(shù)據(jù)的最后一列,出現(xiàn)server ip歪赢,把server ip挪動到自己想要看到的地方化戳,大功告成!

再想想可能我還需要添加這個請求來自哪一個客戶端埋凯?那同樣的copy一下代碼点楼,把客戶端的ip(clientIP)也顯示出來了,這樣做以后也可以方便看請求是來自哪臺機器的白对,不過需要注意掠廓,在重新連上WiFi后,客戶端的ip地址隨時可能改變

serverIP和clientIP

七甩恼、聽說fiddler可以限速蟀瞧?

charles限速可以直接點擊UI設置沉颂,fiddler限速就要靠強大的FiddlerScript了

  1. 打開腳本編輯器
  2. 搜索m_SimulateModem
  3. 然后根據(jù)自己的需要修改如下語句
oSession["request-trickle-delay" ] = "300";(每上傳1KB延遲300ms)
oSession["response-trickle-delay" ] = "150"悦污;(每下載1KB延遲150ms)
  1. Save Script后铸屉,勾選rule-performance-Simulate Modem Speeds生效

順便附上各網(wǎng)絡速率表

七、session都是一個顏色啊切端,看的我眼花彻坛,能不能讓我一眼就看到你?

由于沒有限制抓取的host或者其他原因踏枣,有的時候會突然間就冒出一堆請求昌屉,為了找到自己想要的那條請求也是很靠眼力啊,估計找久了都眼冒金星了吧



如果可以將經(jīng)常測試的請求分開顏色顯示椰于,那真的是極好的暗∫妗!

  1. 打開腳本編輯器
  2. 找到OnRequestBefore這個方法就能看到sample了
代碼中的sample

具體顏色的數(shù)值就上網(wǎng)找C#的color表瘾婿,對應設置即可

  1. 保存蜻牢,應用!
應用之后不同的請求就可以使用不同的顏色標記

科科偏陪,我設置的有點花抢呆,只是為了展示而已啦...

八、QuickExec用起來

好吧笛谦,還是直接上這篇博文先,當然了官網(wǎng)文檔還是很多很多介紹抱虐,不過用的比較多的,都在文章里已經(jīng)說了饥脑,都是基礎的查找等功能恳邀,官網(wǎng)上很多其他的命令主要跟斷點debug相關。

不過博文中說到的雙擊session就能直接查看json數(shù)據(jù)灶轰,感覺還是蠻爽的谣沸,雖然并不知道

PREFS SET fiddler.ui.inspectors.response.alwaysuse “json”

這行代碼是怎么出現(xiàn)的,一度好糾結(jié)笋颤,在官網(wǎng)上查找關鍵詞并沒有找到相關的東西乳附,去搜索之后發(fā)現(xiàn)一個fiddler源碼,里面有出現(xiàn)fiddler.ui.inspectors.response.alwaysuse伴澄,其他發(fā)現(xiàn)就木有了

九赋除、與charles的區(qū)別

同樣作為牛逼的抓包軟件,吐槽幾個優(yōu)缺點

  1. fiddler可以通過修改FiddlerScript達到更多的目的非凌,charles不能
  2. charles要花錢举农,否則每半個小時就要重啟一次,還要延時敞嗡,fiddler免費
  3. 平臺性并蝗,charles是跨平臺的(Windows祭犯、mac、Linux)滚停,fiddler只能在Windows、Linux中使用

十粥惧、More

fiddler還有很多諸如AutoResponder键畴、斷點調(diào)試的功能,不過這些大部分是web工程師的大愛突雪,測試方面暫時不需要用到起惕,所以就沒有深入去研究啦~有機會再好好研究

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市咏删,隨后出現(xiàn)的幾起案子惹想,更是在濱河造成了極大的恐慌,老刑警劉巖督函,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嘀粱,死亡現(xiàn)場離奇詭異,居然都是意外死亡辰狡,警方通過查閱死者的電腦和手機锋叨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來宛篇,“玉大人娃磺,你說我怎么就攤上這事〗斜叮” “怎么了偷卧?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長吆倦。 經(jīng)常有香客問我听诸,道長,這世上最難降的妖魔是什么逼庞? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任蛇更,我火速辦了婚禮,結(jié)果婚禮上赛糟,老公的妹妹穿的比我還像新娘派任。我一直安慰自己,他們只是感情好璧南,可當我...
    茶點故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布掌逛。 她就那樣靜靜地躺著,像睡著了一般司倚。 火紅的嫁衣襯著肌膚如雪豆混。 梳的紋絲不亂的頭發(fā)上篓像,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天,我揣著相機與錄音皿伺,去河邊找鬼员辩。 笑死,一個胖子當著我的面吹牛鸵鸥,可吹牛的內(nèi)容都是我干的奠滑。 我是一名探鬼主播,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼妒穴,長吁一口氣:“原來是場噩夢啊……” “哼宋税!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起讼油,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤杰赛,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后矮台,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體乏屯,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年嘿架,在試婚紗的時候發(fā)現(xiàn)自己被綠了瓶珊。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡耸彪,死狀恐怖伞芹,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蝉娜,我是刑警寧澤唱较,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站召川,受9級特大地震影響南缓,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜荧呐,卻給世界環(huán)境...
    茶點故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一汉形、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧倍阐,春花似錦概疆、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至概耻,卻和暖如春使套,著一層夾襖步出監(jiān)牢的瞬間罐呼,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工侦高, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留嫉柴,地道東北人。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓奉呛,卻偏偏與公主長得像差凹,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子侧馅,可洞房花燭夜當晚...
    茶點故事閱讀 45,512評論 2 359

推薦閱讀更多精彩內(nèi)容

  • fiddler作為一個程序猿+測試媛必備的工具,其他除了最基本的使用方法之外呐萌,還有很多強大到不行小技巧 下面將遇到...
    宇文臭臭閱讀 2,143評論 0 5
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理馁痴,服務發(fā)現(xiàn),斷路器肺孤,智...
    卡卡羅2017閱讀 134,701評論 18 139
  • 前言fiddler是一個很好的抓包工具罗晕,默認是抓http請求的,對于pc上的https請求赠堵,會提示網(wǎng)頁不安全小渊,這時...
    胖子愛豬蹄閱讀 12,535評論 4 22
  • 本文部分內(nèi)容參考果殼網(wǎng)對HTTPS的介紹,這里是原文鏈接:http://www.guokr.com/post/11...
    OliverGao閱讀 3,815評論 3 29
  • 原來茫叭,簡單的重復是如此有力量酬屉。 day118. 5:58自然醒。突然覺得揍愁,今天開始應更加專注的練習呐萨。把每個最基本的...
    飛天小毛女閱讀 202評論 0 1