fiddler小技巧

fiddler作為一個(gè)程序猿+測(cè)試媛必備的工具值纱,其他除了最基本的使用方法之外,還有很多強(qiáng)大到不行小技巧

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

一、tunnel to 443 是什么鬼!

這個(gè)tunnel to 443也的確是挺不順眼的,正如stackoverfolw上的回答一樣赚爵,我們可以看見(jiàn)這樣一句話

fiddler截圖

解釋了為什么會(huì)出現(xiàn)這個(gè)tunnel。

HttpTuunnel(也叫Http隧道法瑟,Http穿梭)冀膝,是這樣一種技術(shù): 它用HTTP協(xié)議在要通信的Client和Server建立起一條”Tunnel”,然后Client和Server之間的通信霎挟,都是在這條Tunnel的基礎(chǔ)之上窝剖。

簡(jiǎn)單地說(shuō) fiddler 當(dāng)做代理轉(zhuǎn)發(fā) https 請(qǐng)求的時(shí)候,就會(huì)產(chǎn)生 "CONNECT Tunnels"酥夭,所以大可忽略它赐纱。實(shí)在有強(qiáng)迫癥,可以選擇隱藏Rules>Hide Connects

所以要抓https的包熬北,還必須安裝fiddler的證書(shū)疙描,果斷百度找教程?讶隐!去看官網(wǎng)起胰,簡(jiǎn)直不能再詳細(xì)了,圖文說(shuō)明~抓https的包get

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

首先看看最基本的https通信地消,具體的過(guò)程就不解釋了

普通的https通信

再看下加入了fiddler之后,這個(gè)具體的過(guò)程就解釋下

fiddler中的https通信

Fiddler截獲客戶端發(fā)送給服務(wù)器的HTTPS請(qǐng)求畏妖,F(xiàn)iddler偽裝成客戶端向服務(wù)器發(fā)送請(qǐng)求進(jìn)行握手 犯建。

服務(wù)器發(fā)回相應(yīng),F(xiàn)iddler獲取到服務(wù)器的CA證書(shū)瓜客, 用root證書(shū)公鑰進(jìn)行解密, 驗(yàn)證服務(wù)器數(shù)據(jù)簽名竿开, 獲取到服務(wù)器CA證書(shū)公鑰谱仪。然后Fiddler偽造自己的CA證書(shū), 冒充服務(wù)器證書(shū)傳遞給客戶端瀏覽器否彩。

與普通過(guò)程中客戶端的操作相同疯攒,客戶端根據(jù)返回的數(shù)據(jù)進(jìn)行證書(shū)校驗(yàn)、生成密碼Pre_master列荔、用Fiddler偽造的證書(shū)公鑰加密敬尺,并生成HTTPS通信用的對(duì)稱密鑰enc_key。

客戶端將重要信息傳遞給服務(wù)器贴浙,又被Fiddler截獲砂吞。Fiddler將截獲的密文用自己偽造證書(shū)的私鑰解開(kāi), 獲得并計(jì)算得到HTTPS通信用的對(duì)稱密鑰enc_key崎溃。Fiddler將對(duì)稱密鑰用服務(wù)器證書(shū)公鑰加密傳遞給服務(wù)器蜻直。

與普通過(guò)程中服務(wù)器端的操作相同,服務(wù)器用私鑰解開(kāi)后建立信任袁串,然后再發(fā)送加密的握手消息給客戶端概而。

Fiddler截獲服務(wù)器發(fā)送的密文,用對(duì)稱密鑰解開(kāi)囱修,再用自己偽造證書(shū)的私鑰加密傳給客戶端赎瑰。

客戶端拿到加密信息后,用公鑰解開(kāi)破镰,驗(yàn)證HASH餐曼。握手過(guò)程正式完成,客戶端與服務(wù)器端就這樣建立了“信任”

二啤咽、不想被pc上一堆雜七雜八的session打擾晋辆,我只想安靜的看關(guān)于Android的session

這個(gè)只要關(guān)閉pc的代理就好了呀~

點(diǎn)擊 Fiddler 左下角的“Capturing”。其實(shí)是File > Capture Traffic的快捷鍵宇整,可以控制是否把 Fiddler 注冊(cè)為PC系統(tǒng)代理瓶佳,當(dāng)左下角顯示Capturing時(shí),Capture Traffic是打開(kāi)的鳞青,此時(shí)的IE的Internet選項(xiàng)>連接>局域網(wǎng)設(shè)置中的代理服務(wù)器是勾選的霸饲;否則是沒(méi)有勾選的为朋。 也就是顯示了就抓pc的包,不顯示就不抓pc的包厚脉。

三习寸、認(rèn)識(shí)fiddler中session的快捷圖標(biāo)

快捷圖標(biāo)

官網(wǎng)也有啊,只不過(guò)是英文的哈哈傻工,其實(shí)用處也不是很大霞溪,大概記住就得了

四、hosts的設(shè)置

在測(cè)試的時(shí)候中捆,難免要配置hosts鸯匹,連接到測(cè)試服務(wù)器,但是泄伪!總感覺(jué)在系統(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.

原來(lái)Fiddler 啟動(dòng)時(shí)殴蓬,修改 hosts 的時(shí)候是無(wú)效的,需要重啟 Fiddler才能生效蟋滴。當(dāng) Fiddler 已經(jīng)建立會(huì)話時(shí)染厅,任何修改 hosts 的行為都不會(huì)被 Fiddler 注意到。

可以通過(guò) Fiddler 的 Tools > HOSTS 處導(dǎo)入本地的 hosts文件津函。

需要指測(cè)試服務(wù)器的時(shí)候肖粮,勾選"Enable remapping of requests for one host to a different host or IP, overriding DNS",否則去掉勾選。

那么問(wèn)題就來(lái)了球散,我怎么確定自己的請(qǐng)求的是正確的服務(wù)器呢尿赚?

我需要知道自己請(qǐng)求的ip地址是多少,哈哈

五蕉堰、FiddlerScript

想說(shuō)fiddler比charles更加人性化的地方就是凌净,fiddler有一個(gè)FiddlerScript文件,可以修改超級(jí)多配置

第一次使用FiddlerScript屋讶,點(diǎn)擊這里 Rules->Customize Rules冰寻,然后回彈出是否安裝一個(gè)編輯器的插件,安裝了的話就可以直接在面板中進(jìn)行修改皿渗,不安裝就要每次都在txt文檔里面修改斩芭,而且還不能保證編碼格式是utf-8的

FiddlerScript是用C#寫(xiě)的,但是乐疆,有很多注釋划乖,還有官網(wǎng)可以幫助學(xué)習(xí)

1. Modifying a Request or Response 修改請(qǐng)求和響應(yīng)

OnBeforeRequest is called before each request, and OnBeforeResponse is called before each response.可以在OnBeforeRequest和OnBeforeResponse這兩個(gè)方法中修改請(qǐng)求和響應(yīng)

2.Performance Testing 測(cè)試應(yīng)用的表現(xiàn)

To test application performance, add rules using FiddlerScript to the OnBeforeResponse function (except where noted).包括限速、顯示服務(wù)器響應(yīng)的時(shí)間挤土、顯示收到請(qǐng)求的時(shí)間等

3.Customize Menus 定制菜單欄

To customize menus in Fiddler, add rules using FiddlerScript with Global scope 添加各種菜單或者rule琴庵、tool等選項(xiàng)

4.定制session列表

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

5.暫停

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

6.警告

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

7.會(huì)話列表中添加列

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

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

六庆寺、session中顯示服務(wù)器ip列

打開(kāi)腳本編輯器

查找“static function Main()”字符串蚊夫,然后添加下面這行代碼:

FiddlerObject.UI.lvSessions.AddBoundColumn("ServerIP",120,"X-HostIP");

官網(wǎng)的教程中有寫(xiě)到添加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.

自己翻譯的:第一個(gè)參數(shù):顯示列的名字, 第二個(gè)參數(shù):默認(rèn)列寬懦尝, 第三個(gè)參數(shù):顯示的數(shù)值知纷,比如一個(gè)session有哪些屬性,或者是一個(gè)返回string的方法

左上角點(diǎn)擊保存

然后查看數(shù)據(jù)的最后一列陵霉,出現(xiàn)server ip屈扎,把server ip挪動(dòng)到自己想要看到的地方,大功告成撩匕!

再想想可能我還需要添加這個(gè)請(qǐng)求來(lái)自哪一個(gè)客戶端?那同樣的copy一下代碼墨叛,把客戶端的ip(clientIP)也顯示出來(lái)了止毕,這樣做以后也可以方便看請(qǐng)求是來(lái)自哪臺(tái)機(jī)器的,不過(guò)需要注意漠趁,在重新連上WiFi后扁凛,客戶端的ip地址隨時(shí)可能改變

serverIP和clientIP

七、聽(tīng)說(shuō)fiddler可以限速闯传?

charles限速可以直接點(diǎn)擊UI設(shè)置谨朝,fiddler限速就要靠強(qiáng)大的FiddlerScript了

打開(kāi)腳本編輯器

搜索m_SimulateModem

然后根據(jù)自己的需要修改如下語(yǔ)句

oSession["request-trickle-delay"] ="300";(每上傳1KB延遲300ms)oSession["response-trickle-delay"] ="150"甥绿;(每下載1KB延遲150ms)

Save Script后字币,勾選rule-performance-Simulate Modem Speeds生效

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

七、session都是一個(gè)顏色啊共缕,看的我眼花洗出,能不能讓我一眼就看到你?

由于沒(méi)有限制抓取的host或者其他原因图谷,有的時(shí)候會(huì)突然間就冒出一堆請(qǐng)求翩活,為了找到自己想要的那條請(qǐng)求也是很靠眼力啊,估計(jì)找久了都眼冒金星了吧

如果可以將經(jīng)常測(cè)試的請(qǐng)求分開(kāi)顏色顯示便贵,那真的是極好的安ふ颉!

打開(kāi)腳本編輯器

找到OnRequestBefore這個(gè)方法就能看到sample了

代碼中的sample

具體顏色的數(shù)值就上網(wǎng)找C#的color表承璃,對(duì)應(yīng)設(shè)置即可

保存利耍,應(yīng)用!

應(yīng)用之后不同的請(qǐng)求就可以使用不同的顏色標(biāo)記

科科,我設(shè)置的有點(diǎn)花堂竟,只是為了展示而已啦...

八魂毁、QuickExec用起來(lái)

好吧,還是直接上這篇博文先,當(dāng)然了官網(wǎng)文檔還是很多很多介紹出嘹,不過(guò)用的比較多的席楚,都在文章里已經(jīng)說(shuō)了,都是基礎(chǔ)的查找等功能税稼,官網(wǎng)上很多其他的命令主要跟斷點(diǎn)debug相關(guān)烦秩。

不過(guò)博文中說(shuō)到的雙擊session就能直接查看json數(shù)據(jù),感覺(jué)還是蠻爽的郎仆,雖然并不知道

PREFSSETfiddler.ui.inspectors.response.alwaysuse“json”

這行代碼是怎么出現(xiàn)的只祠,一度好糾結(jié),在官網(wǎng)上查找關(guān)鍵詞并沒(méi)有找到相關(guān)的東西扰肌,去搜索之后發(fā)現(xiàn)一個(gè)fiddler源碼抛寝,里面有出現(xiàn)fiddler.ui.inspectors.response.alwaysuse,其他發(fā)現(xiàn)就木有了

九曙旭、與charles的區(qū)別

同樣作為牛逼的抓包軟件盗舰,吐槽幾個(gè)優(yōu)缺點(diǎn)

fiddler可以通過(guò)修改FiddlerScript達(dá)到更多的目的,charles不能

charles要花錢桂躏,否則每半個(gè)小時(shí)就要重啟一次钻趋,還要延時(shí),fiddler免費(fèi)

平臺(tái)性剂习,charles是跨平臺(tái)的(Windows蛮位、mac、Linux)鳞绕,fiddler只能在Windows失仁、Linux中使用

十、More

fiddler還有很多諸如AutoResponder们何、斷點(diǎn)調(diào)試的功能陶因,不過(guò)這些大部分是web工程師的大愛(ài),測(cè)試方面暫時(shí)不需要用到垂蜗,所以就沒(méi)有深入去研究啦~有機(jī)會(huì)再好好研究

文/劉瞧瞧(簡(jiǎn)書(shū)作者)

原文鏈接:http://www.reibang.com/p/18b9c5cb493d

著作權(quán)歸作者所有楷扬,轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),并標(biāo)注“簡(jiǎn)書(shū)作者”贴见。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末烘苹,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子片部,更是在濱河造成了極大的恐慌镣衡,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,635評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異廊鸥,居然都是意外死亡望浩,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門惰说,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)磨德,“玉大人,你說(shuō)我怎么就攤上這事吆视〉涮簦” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,083評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵啦吧,是天一觀的道長(zhǎng)您觉。 經(jīng)常有香客問(wèn)我,道長(zhǎng)授滓,這世上最難降的妖魔是什么琳水? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,640評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮般堆,結(jié)果婚禮上炫刷,老公的妹妹穿的比我還像新娘。我一直安慰自己郁妈,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布绍申。 她就那樣靜靜地躺著噩咪,像睡著了一般。 火紅的嫁衣襯著肌膚如雪极阅。 梳的紋絲不亂的頭發(fā)上胃碾,一...
    開(kāi)封第一講書(shū)人閱讀 52,262評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音筋搏,去河邊找鬼仆百。 笑死,一個(gè)胖子當(dāng)著我的面吹牛奔脐,可吹牛的內(nèi)容都是我干的俄周。 我是一名探鬼主播,決...
    沈念sama閱讀 40,833評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼髓迎,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼峦朗!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起排龄,我...
    開(kāi)封第一講書(shū)人閱讀 39,736評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤波势,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體尺铣,經(jīng)...
    沈念sama閱讀 46,280評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡拴曲,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了凛忿。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片澈灼。...
    茶點(diǎn)故事閱讀 40,503評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖侄非,靈堂內(nèi)的尸體忽然破棺而出蕉汪,到底是詐尸還是另有隱情,我是刑警寧澤逞怨,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布者疤,位于F島的核電站,受9級(jí)特大地震影響叠赦,放射性物質(zhì)發(fā)生泄漏驹马。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評(píng)論 3 333
  • 文/蒙蒙 一除秀、第九天 我趴在偏房一處隱蔽的房頂上張望糯累。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,340評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背阎肝。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,460評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留肮街,地道東北人风题。 一個(gè)月前我還...
    沈念sama閱讀 48,909評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像嫉父,于是被迫代替她去往敵國(guó)和親沛硅。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評(píng)論 2 359

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

  • fiddler作為一個(gè)程序猿+測(cè)試媛必備的工具绕辖,其他除了最基本的使用方法之外稽鞭,還有很多強(qiáng)大到不行小技巧 下面將遇到...
    劉瞧瞧閱讀 11,499評(píng)論 4 15
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)引镊,斷路器朦蕴,智...
    卡卡羅2017閱讀 134,701評(píng)論 18 139
  • 前言fiddler是一個(gè)很好的抓包工具篮条,默認(rèn)是抓http請(qǐng)求的,對(duì)于pc上的https請(qǐng)求吩抓,會(huì)提示網(wǎng)頁(yè)不安全涉茧,這時(shí)...
    胖子愛(ài)豬蹄閱讀 12,535評(píng)論 4 22
  • 本文部分內(nèi)容參考果殼網(wǎng)對(duì)HTTPS的介紹,這里是原文鏈接:http://www.guokr.com/post/11...
    OliverGao閱讀 3,815評(píng)論 3 29
  • 冬季里淋的第一場(chǎng)雨疹娶,撒的痛快伴栓,淋的舒暢,既是洗凈塵埃雨饺,也在澆灌心靈钳垮。你我本相識(shí)相知,是我經(jīng)不住大千誘惑额港,早已物是人...
    e4901c10da8b閱讀 181評(píng)論 0 1