?? ? ? ? 在做軟件測(cè)試或者Bug定位的時(shí)候會(huì)用到一些抓包工具,當(dāng)然抓包工具還要一些其他用途可以做一些API的抓取,那么本篇內(nèi)容就來(lái)講 Fiddler 抓包工具的下載安裝以及如何來(lái)實(shí)際的應(yīng)用。講了這些可能有的讀者還不知道這個(gè)"Fiddler"怎么讀呢?讀 "非的了" 。那下面先來(lái)了解一下抓包工具有哪些?
軟件名稱(chēng) | 簡(jiǎn)介 | 是否支持獨(dú)立運(yùn)行 | 是否支持移動(dòng)設(shè)備 |
wireshak | 網(wǎng)絡(luò)抓包,監(jiān)聽(tīng)網(wǎng)卡 | 是 | 否 |
httpwatch | 集成到 IE 和 Chrome 中的網(wǎng)頁(yè)數(shù)據(jù)分析工具 | 否 | 否 |
charles | http代理,http監(jiān)聽(tīng),http反向代理,查看http通信信息 | 是 | 是 |
fiddler | 免費(fèi)的http通信查看工具 | 是 | 是 |
抓包原理
? ? ? ? 抓包工具是比較多樣的,charles 和 fiddler 這兩件算比較常見(jiàn)的,原理也差不多,下面先來(lái)了解 Fiddler 抓包的原理:
? ? ? ? 從以上的這個(gè)圖知道客戶(hù)端直接發(fā)送數(shù)據(jù)請(qǐng)求到服務(wù)端,服務(wù)端響應(yīng)數(shù)據(jù)請(qǐng)求返回給客戶(hù)端,而在這個(gè)過(guò)程使用?Fiddler ,F(xiàn)iddler以這種代理的模式存在于客戶(hù)端與服務(wù)端之間,它會(huì)自主的抓取由客戶(hù)端發(fā)起的請(qǐng)求,再將請(qǐng)求發(fā)給服務(wù)端,而服務(wù)端收到請(qǐng)求之后響應(yīng)回去,這個(gè)過(guò)程對(duì)于客戶(hù)端和服務(wù)端來(lái)是沒(méi)有什么察覺(jué)的,但這個(gè)過(guò)程已經(jīng)被Fiddler所抓取下來(lái)了。? ? ? ??
抓包注意事項(xiàng)
? ? ? ? 在抓包的時(shí)候有這個(gè)PC端和移動(dòng)端的,而 Fiddler 既可以抓取PC端也可以抓取移動(dòng)端,同時(shí)如果是做軟件測(cè)試的在測(cè)試環(huán)境中選擇測(cè)試的系統(tǒng)環(huán)境 Window7 相比較于 Window10 來(lái)講要更加穩(wěn)定的(Win7/Win10皆可),在PC端上進(jìn)行抓取的話(huà),需要關(guān)閉防火墻以及殺毒軟件,而在移動(dòng)端上抓取的話(huà)需要進(jìn)行代理,必要的情況之下還需要下載證書(shū),記得關(guān)閉防火墻以包裝移動(dòng)設(shè)備與PC端保持連接(同一局域網(wǎng))。
? ? ? ? 一般情況下,F(xiàn)iddler 抓取的是 http 協(xié)議的,但現(xiàn)有的很多請(qǐng)求有這個(gè) https 的,https比http的安全度要高的,抓取的瀏覽器像Chrome、Firefox的話(huà)可以抓取到但必要的情況之下仍是需要安裝證書(shū)的驗(yàn)證是否連網(wǎng)成功。
Fiddler 抓包工具下載安裝
? ? ? ? ! 急用下載 :Download Fiddler Web Debugging Tool for Free by Telerik
? ? ? ? 首先進(jìn)入 Fiddler 的官網(wǎng):Fiddler | Web Debugging Proxy and Troubleshooting Solutions
? ? ? ? ?往下活動(dòng)找到這個(gè)地方,選擇【Fiddler Classic】后點(diǎn)擊【Try For Free】跳轉(zhuǎn)
????????填寫(xiě)完成之后跳轉(zhuǎn)下載,等待下載完成之后,下載完成之后雙擊exe文件;
????????安裝完成之后沒(méi)有看到桌面上的圖標(biāo),可以使用搜索工具搜它的名稱(chēng);
必要可以打開(kāi)文件目錄然后將主程序的exe右鍵發(fā)送一個(gè)快捷方式到桌面即可。然后打開(kāi)選cancel
抓包配置
? ? ? ? 配置之下需要電腦上的【.NET Framework】?是在4.0以上,一般現(xiàn)在的電腦都是滿(mǎn)足的,除了比較有年代的電腦,這個(gè)在哪里可以看到呢?你在安裝的時(shí)候如果沒(méi)有會(huì)有提示的,同時(shí)也可以在你電腦卸載程序的地方就可以查看到的,我這邊的是4.8的(4.0以上即可);
?????????打開(kāi)Fiddler抓包工具進(jìn)行一個(gè)配置:選擇【Tools】下的【Options】
? ? ? ? 默認(rèn)情況下Fiddler是抓取http的包,那么需要設(shè)置抓取這個(gè)https:
????????緊接著是下載證書(shū),出現(xiàn)以下這三個(gè)內(nèi)容之后則下載成功!
? ? ? ? 再對(duì)這兩項(xiàng)內(nèi)容進(jìn)行勾選:
????????點(diǎn)擊【Actions】之后先點(diǎn)擊第一項(xiàng)【Trust Root Certificate】會(huì)出現(xiàn)彈窗顯示選擇【YES】,然后點(diǎn)擊【確定】即可,完成之后再點(diǎn)擊第二項(xiàng)導(dǎo)出這個(gè)證書(shū)【Export Root Certificate Desktop】后會(huì)在桌面出現(xiàn)【FiddlerRoot.cer】這個(gè)文件,即證書(shū)文件,如果到此沒(méi)有報(bào)錯(cuò)的不需要看下面這塊內(nèi)容,可以跳過(guò),報(bào)錯(cuò)的可以看一下下面的解決方案:
????????如果在這個(gè)操作上有報(bào)錯(cuò)誤的,可以嘗試打開(kāi)瀏覽器然后輸出你的電腦IP然后接上8888這個(gè)端口:如何得知電腦IP? 打開(kāi)CMD命令窗口,輸出命令【ipconfig】之后找到這個(gè)IP,可能會(huì)出現(xiàn)一堆,只需要找到無(wú)線(xiàn)局域網(wǎng)的IPv4地址,我這邊是這個(gè),你自己查詢(xún)你自己!
????????打開(kāi)瀏覽器在地址欄輸入你的ip+端口號(hào):http://192.168.1.100:8888?
? ? ? ? 證書(shū)下載完成之后來(lái)進(jìn)行下一項(xiàng)Connections連接的配置,配置完成之后需要重啟 Fiddler 才會(huì)生效的 :
????????配置完成之后重新再打開(kāi)看一下是否配置成功了!
Fiddler PC端代理配置
????????打開(kāi)瀏覽器之后,可以打開(kāi)它的【設(shè)置】,找到代理彈窗來(lái)配置,比較舊的一些可能就會(huì)有,大部分瀏覽器找到的就是【打開(kāi)您計(jì)算機(jī)的代理設(shè)置】這項(xiàng),那么這里演示的是Win10;
? ? ? ? 點(diǎn)擊之后會(huì)來(lái)到本機(jī)的代理設(shè)置,之后你可以在【搜索】處找代理設(shè)置就可以,不需要到瀏覽器來(lái)設(shè)置,除了需要安裝證書(shū),即前面下載到的證書(shū)進(jìn)行一個(gè)導(dǎo)入,否則不需要。
? ? ? ? 打開(kāi)之后,再打開(kāi) Fiddler抓包工具 之后,在瀏覽器中打開(kāi)某些頁(yè)面,它會(huì)發(fā)起一些請(qǐng)求,此時(shí)這些請(qǐng)求會(huì)被 Fiddler 所抓取到。
?* 注: 設(shè)置手動(dòng)則注意使用Fiddler之前看看是否設(shè)置了代理,以及能否正常上網(wǎng)!
Fiddler 使用界面
? ? ? ? 下面來(lái)認(rèn)識(shí)一下Fiddler的使用界面,分為這四大塊:
? ? ? ? Fiddler 菜單欄目和工具欄的內(nèi)容是比較多的,所以不依次對(duì)每個(gè)功能進(jìn)行說(shuō)明,在后面用使用到的來(lái)進(jìn)行具體說(shuō)明,那么來(lái)看一下 Web Session 面板,這塊面板就會(huì)顯示所抓取的每條http請(qǐng)求,即為一個(gè)session;
- [ # ]? ? ? ? ? ? ? ? ? ? ? ? HTTP Request 請(qǐng)求順序,從1開(kāi)始按頁(yè)面加載的請(qǐng)求順序進(jìn)行遞增;
- [ Result?]? ? ? ? ? ? ? ? HTTP 響應(yīng)狀態(tài),如200,404,301,500等請(qǐng)求狀態(tài)碼;
- [ Protocol?]? ? ? ? ? ? ?請(qǐng)求使用的協(xié)議(如:HTTP/HTTPS/FTP);
- [ Host ]? ? ? ? ? ? ? ? ? ?請(qǐng)求地址的域名;
- [ URL ]? ? ? ? ? ? ? ? ? ?請(qǐng)求的服務(wù)器路徑和文件名,也包括GET請(qǐng)求參數(shù);
- [ Body ]? ? ? ? ? ? ? ? ? 請(qǐng)求體的大小,單位:byte;
- [ Caching?]? ? ? ? ? ? ?請(qǐng)求的緩存過(guò)期時(shí)間或緩存控制 header 等值;
- [ Content-Type ]? ? ?請(qǐng)求響應(yīng)類(lèi)型;
- [ Process ]? ? ? ? ? ? ? 發(fā)出此請(qǐng)求的Windows進(jìn)程及進(jìn)程ID;
- [ Comments?]? ? ? ? ? 用戶(hù)通過(guò)腳本或者右鍵菜單給此session做標(biāo)注;
- [ Custom ]? ? ? ? ? ? ? ?用戶(hù)可以通過(guò)腳本設(shè)置的自定義值;
?下面再來(lái)看一下 Web Session 右側(cè)的面板詳情和數(shù)據(jù)統(tǒng)計(jì)面板:
Statistics 面板可以看到請(qǐng)求用時(shí):
Inspectors 面板提供了Headers,TextView,WebForm,HexView,Auth等多種方式來(lái)查看http請(qǐng)求的請(qǐng)求報(bào)文信息:
????????可以在WebView查看響應(yīng)內(nèi)容。
AutoResponder 面板,AutoResponder功能屬于Fiddler中比較強(qiáng)大且重要的功能。
作用:
? ? ? ? 1. 攔截某一請(qǐng)求,并重定向到本地資源或者使用Fiddler內(nèi)置響應(yīng);
? ? ? ? 2. 調(diào)試服務(wù)器端代碼而無(wú)需要修改服務(wù)器的代碼以及配置;?
(攔截或被重定向,實(shí)際上訪(fǎng)問(wèn)的是本地資源或者Fiddler內(nèi)置響應(yīng))
下面來(lái)簡(jiǎn)單的測(cè)試一下AutoResponder :
? ? ? ? 在桌面或者其他位置編寫(xiě)一個(gè)html文件,任意寫(xiě)即可:
<!DOCTYPE html>
<!-- test.html -->
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Test</title>
</head>
<body>
<h3>Test 文件</h3>
<p>* 重定向到本地資源 - test.html </p>
</body>
</html>
? ? ? ? * 下面先進(jìn)行【瀏覽器代理設(shè)置】,上述的FiddlerPC代理設(shè)置可以進(jìn)行設(shè)置,PC代理且能夠正常上網(wǎng)了之后,我們?cè)跒g覽器中來(lái)進(jìn)行發(fā)起請(qǐng)求,這里做演示,那么可以隨意找一個(gè)請(qǐng)求,如果你不知道你就在瀏覽器地址輸入如下請(qǐng)求:
https://blog.csdn.net/weixin_52203618?type=blog
? ? ? ? 此時(shí)在你的Fiddler抓包工具就會(huì)抓取相關(guān)的請(qǐng)求了;
? ? ? ? 在Web Session面板選擇一個(gè)請(qǐng)求即選擇一個(gè)session切到這個(gè) AutoResponse 面板;
? ? ? ? ?點(diǎn)擊右鍵【Open URL】;
? ? ? ? ?此時(shí)跳轉(zhuǎn)的鏈接是 https://blog.csdn.net/weixin_52203618?type=blog ,但頁(yè)面上所要出現(xiàn)的內(nèi)容卻不是該鏈接的內(nèi)容,而是剛剛所編寫(xiě)的html頁(yè)面。
?? ? ? ? 這是請(qǐng)求被攔截重定向到本地資源處!
Composer 面板,可以用來(lái)模擬向服務(wù)器發(fā)送數(shù)據(jù)的過(guò)程
同時(shí)還可以在 Raw 中來(lái)設(shè)置請(qǐng)求達(dá)到模擬數(shù)據(jù)請(qǐng)求的目的,同時(shí)還可以設(shè)置一些請(qǐng)求頭等;
Filters 面板,最后來(lái)講一下這個(gè)Filters,即過(guò)濾器;
? ? ? ? Filters可以設(shè)置Fiddler的過(guò)濾規(guī)則,從而來(lái)過(guò)濾掉一些http請(qǐng)求,可以抓取http請(qǐng)求或https請(qǐng)求,F(xiàn)iddler的過(guò)濾功能是非常強(qiáng)大的,可以過(guò)濾特定的http請(qǐng)求狀態(tài)碼,還可以過(guò)濾像 css image js等這些請(qǐng)求以及過(guò)濾請(qǐng)求報(bào)文的大小byte請(qǐng)求。
使用時(shí)可以進(jìn)行一個(gè)勾選:
? ? ? ? ?在抓包的過(guò)程中你在點(diǎn)擊其他操作的時(shí)候可能會(huì)被抓取,那么在Web Session面板中就會(huì)出現(xiàn)很多的session,這個(gè)時(shí)候要來(lái)查看的話(huà)可能會(huì)比較麻煩,太多了,那么可以來(lái)設(shè)置這個(gè),這里假設(shè)要顯示blog.csdn.net所發(fā)起的請(qǐng)求,那么可以使用【show only the following Hosts】,然后在下面的方框內(nèi)來(lái)去設(shè)置一下它的主機(jī)名,即這個(gè) blog.cs.net?
? ? ? ? ?那么往下還有比較多的過(guò)濾設(shè)置如有需要的話(huà)再來(lái)講解。
設(shè)置斷點(diǎn)
- Before Requests
????????在發(fā)送請(qǐng)求之前,在Fiddler進(jìn)入代理中轉(zhuǎn)到服務(wù)端之前,這時(shí)可以進(jìn)行一個(gè)修改數(shù)據(jù)請(qǐng)求的數(shù)據(jù)。
- After Responses
? ? ? ? 在服務(wù)器響應(yīng)之后,在Fiddler進(jìn)入代理中轉(zhuǎn)到客戶(hù)端之前,這時(shí)可以來(lái)修改響應(yīng)的結(jié)果。
? ? ? ? 設(shè)置端點(diǎn)的功能時(shí)比較強(qiáng)大的,如設(shè)置之后 After Responses 之后會(huì)在 Inspectors 面板中來(lái)查看,下面來(lái)做一個(gè)小測(cè)試,讀者可以使用自己做過(guò)的一些項(xiàng)目拿出來(lái)測(cè)試一些請(qǐng)求,那么下面來(lái)簡(jiǎn)單演示一個(gè) After Responses 斷點(diǎn),在服務(wù)器響應(yīng)回來(lái)的時(shí)候,在Fiddler代理這里來(lái)進(jìn)行一個(gè)處理之后再轉(zhuǎn)給客戶(hù)端;
( 去到該網(wǎng)站測(cè)試一下:跳轉(zhuǎn)鏈接 )
? ? ? ? ?在進(jìn)行注冊(cè)登錄的時(shí)候,這里如果是手機(jī)號(hào)的話(huà),一般會(huì)在前端以及后端設(shè)置這個(gè)校驗(yàn),使用正則還是其他,首先這個(gè)手機(jī)號(hào)碼是11位的,第一位是以1開(kāi)頭,第二位是以3~9,沒(méi)有這個(gè)2,那么當(dāng)我們輸入一個(gè)不符合手機(jī)的號(hào)碼獲取驗(yàn)證碼,它會(huì)返回一個(gè)錯(cuò)誤提示反饋給到我,那么在服務(wù)器響應(yīng)回來(lái)的時(shí)候,在進(jìn)入Fiddler代理未轉(zhuǎn)入給到客戶(hù)端的這個(gè)時(shí)候來(lái)吧數(shù)據(jù)給修改了然后返給客戶(hù)端。
下面來(lái)進(jìn)行一個(gè)正常的流程:
1. 在手機(jī)號(hào)處填寫(xiě)不合法的號(hào)碼(123 4567 8900)然后進(jìn)行獲取驗(yàn)證碼;
????????結(jié)果很顯然,符合我們的預(yù)期,對(duì)手機(jī)號(hào)碼的格式進(jìn)行了校驗(yàn)并且反饋提示說(shuō)明。那么下面我們來(lái)設(shè)置斷點(diǎn)來(lái)看一下。?
下面來(lái)進(jìn)行操作設(shè)置斷點(diǎn):
1. 開(kāi)啟代理這個(gè)不用講吧,可以是計(jì)算機(jī)的代理,然后設(shè)置【Rules】為這個(gè)【After Responses】
2. 設(shè)置過(guò)濾器來(lái)過(guò)濾其他無(wú)關(guān)的請(qǐng)求,以便更加直觀,然后切回Inspectors面板
3. 切回到瀏覽器在手機(jī)號(hào)處填寫(xiě)不合法的號(hào)碼(123 4567 8900)然后進(jìn)行獲取驗(yàn)證碼;
?4. 打開(kāi)Fiddler,可以看到服務(wù)器響應(yīng)回來(lái)的數(shù)據(jù)被Fiddler所代理了;
? ? ? ? 可以看到這個(gè)代理的結(jié)果與之前正常請(qǐng)求所得到的響應(yīng)結(jié)果一樣。?
5. 在Fiddler中來(lái)修改響應(yīng)的數(shù)據(jù)信息
6 . 點(diǎn)擊這個(gè)【Run to Complection】然后切回瀏覽器;
? ? ? ? ?可以看到瀏覽器響應(yīng)的是被Fiddler所代理修改的響應(yīng)數(shù)據(jù),以上就是設(shè)置斷點(diǎn)的內(nèi)容的一個(gè)樣式,上述講到的相關(guān)內(nèi)容主要是關(guān)于WEB PC端的抓包,那么移動(dòng)端設(shè)備如何來(lái)抓取呢?
Fiddler 移動(dòng)端代理配置
? ? ? ? 移動(dòng)端設(shè)備的抓包與PC端的抓包方式與前面的內(nèi)容是同理的,移動(dòng)設(shè)備的抓包重點(diǎn)在于移動(dòng)設(shè)備如何與PC相接使用Fiddler。
1. 首先是在同一局域網(wǎng);
? ? ? ? 這個(gè)比較好理解,即手機(jī)移動(dòng)端設(shè)備與PC端處在同一網(wǎng)絡(luò),最簡(jiǎn)單的就是在同一個(gè)WIFI之下就可以。
2. 查詢(xún)PC端設(shè)備的無(wú)線(xiàn)局域網(wǎng)IP;
? ? ? ? 這個(gè)上面的內(nèi)容也提及到了,打開(kāi)CMD窗口,輸入如下命令:
ipconfig
? ? ? ? 然后找到無(wú)線(xiàn)局域網(wǎng)適配器WLAN下的IPv4地址即可。
3. 打開(kāi)手機(jī)移動(dòng)端設(shè)備的WIFI設(shè)置
? ? ? ? 填寫(xiě)PC端的IP 就是上述步驟2拿到的IP地址192.168.124.23,端口號(hào)則是8888,然后點(diǎn)擊保存即可,在必要的情況下需要安裝證書(shū),可以先測(cè)試一下能夠抓包,不行就來(lái)安裝證書(shū),證書(shū)的獲取在上述已經(jīng)講過(guò)了,拷貝一份到移動(dòng)設(shè)備上然后安裝即可。準(zhǔn)備就緒之后,下面就來(lái)測(cè)試一下能夠抓包成功。
移動(dòng)端設(shè)備抓包測(cè)試?
? ? ? ? 1. 配置好上述講的移動(dòng)設(shè)備代理配置之后,會(huì)重新接入網(wǎng)絡(luò),看能夠正常接入WIFI。
? ? ? ? 2. PC端是不需要設(shè)置代理;然后在PC端打開(kāi)Fiddler抓包工具;
? ? ? ? 3. 關(guān)閉手機(jī)的其他應(yīng)用,保證沒(méi)有后臺(tái),不然Fiddler在抓包的時(shí)候就會(huì)抓取到很多的請(qǐng)求;
? ? ? ? 4. 打開(kāi)一款A(yù)PP進(jìn)行測(cè)試:
打開(kāi)【百度貼吧】,看PC端的Fiddler會(huì)跑出多少請(qǐng)求:
? ? ? ? 能夠正常的接到移動(dòng)端設(shè)備并實(shí)現(xiàn)抓??;
? ? ? ? ?以上就是本篇的全部?jī)?nèi)容了,內(nèi)容仍是比較基礎(chǔ)的抓包知識(shí),如果你對(duì)抓包感興趣的話(huà)可以在深入的學(xué)習(xí)一下,那本篇內(nèi)容就到這,在后續(xù)會(huì)為大家推出另外一些抓包的工具使用像 Charles工具,這個(gè)也是比較流行,感謝興趣的話(huà)可以點(diǎn)贊關(guān)注支持一下,后續(xù)為大家更新更有質(zhì)量的內(nèi)容,感謝大家的支持?。?!文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-453842.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-453842.html
到了這里,關(guān)于Fiddler 抓包工具下載安裝基本使用(詳)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!