2013-11-19fiddler和wireshark工具介紹及對比 - [測試技術知識]版權聲明:轉載時請以超鏈接形式標明文章原始出處和作者信息及本聲明http://www./wanping-logs/238827556.html 在測試中,,經常需要驗證發(fā)送的消息是否正確,,或者在出現(xiàn)問題的時候,查看手機客戶端發(fā)送給server端的包內容是否正確,,就需要用到抓包工具,,而且我們手機客戶端和server端通訊比較常用的是http方式,所以針對其通訊特點,,常用的抓包工具有Fiddler,、Wireshark這兩種,下面分別介紹下兩個抓包工具的用法,。 Fiddler官網:http:/// 當啟動fiddler,,程序將會把自己作為一個代理,所以的http請求在達到目標服務器之前都會經過fiddler,,同樣的,,所有的http響應都會在返回客戶端之前流經fiddler。圖例如下: 測試手機應用,,首先要明白他的消息的交互 A.手機客戶端發(fā)請求給server B.Server端返回結果給手機客戶端,。這是一個交互 C.手機客戶端向server端發(fā)送確認消息,這時候server端收到客戶端發(fā)送的確認消息,,不需要再做任何處理,。 如何使用Fiddler1. 下載安裝Fiddler并安裝下載地址:http:///get-fiddler 2. 配置FiddlerTools->Fiddler Options 選擇Connections 使用fiddler捕獲https會話 默認情況下,fiddler是不會捕獲https會話的,,所以需要自行設置下,。啟動軟件,點擊tools->Fiddler Options,,在彈出框選擇“HTTPS”,,如下頁面,將捕獲HTTPS連接這一項前面全打鉤,,點擊ok即可操作成功,。
Capture HTTPS CONNECTs:捕獲https連接 Decrypt HTTPS traffic:解密HTTPS通信 Ignore servercertificate errors:忽略服務器證書錯誤 3. 手機設置代理設置手機代理,,ip為電腦的ip,端口為:8888 具體設置方法:略 4. 收集消息手機操作被測app,,fiddler就會收到app發(fā)送的消息,,我們可以分析app發(fā)送的消息和返回的結果,來發(fā)現(xiàn)一些問題,。 收集消息的時候,,要對fiddler功能有所了解,下面介紹下fiddler工具各個功能模塊,。 1)fiddler的基本界面 首先介紹下fiddler基本界面。 Inspectors tab下有很多查看Request或者Response的消息,。其中Raw Tab可以查看完整的消息,,Headers tab 只查看消息中的header. 如下圖
2)filter的http統(tǒng)計 通過fiddler會話列表中會顯示捕獲的所有的http通信量,并以列表的形式展現(xiàn)出來,,點擊你想查看的一個或者多個會話,,再點擊右邊的“Statistics”菜單,你就可以很輕松的查看到請求數(shù),、發(fā)送字節(jié)數(shù)等信息,。如果你選擇第一個請求和最后一個請求,還可以獲得頁面加載所消耗的總體時間,,還可以從圖表中分辨出哪些請求耗時最多,,從而可以對頁面的訪問速度進行優(yōu)化
3)Fiddler中設置斷點修改Request(目前沒有用到該功能) Fiddler最強大的功能莫過于設置斷點,設置好斷點后,,你可以修復httpRequest的任何消息包括host,,cookie或者表單中的數(shù)據。設置斷點有兩種方法,。 第一種:打開fiddler點擊Rules->Automatic Breakpoint->Before Requests(這種方法會中斷所有的會話) 消除辦法:點擊Rules->Automatic Breakpoint->Disabled 第二種:在命令行中輸入命令:bpu www.taobao.com(這種方法只會中斷www.baidu.com) 消除辦法:在命令行中輸入bpu 5,、設置斷點修改Response(測試小把手的用到該功能)當然fiddler中也能修改Response 第一種:打開Fiddler點擊Rules->Automatic Breakpoint->After Respinse(這種方法會中斷所有的會話) 消除辦法:點擊Rules->Automatic Breakpoint ->Disabled 第二種:在命令行中輸入命令:bpafter www.taobao.com(這種方法會中斷www.taobao.com) 消除辦法:命令行中輸入命令bpafter 修改Response方法: 選擇Rules-> Automatic Breakpoint->After Respinse,手機點擊操作,,發(fā)送query,。 選中左區(qū)的query,點擊右邊的Raw,,修改Raw里面的返回結果,,運行“Run to Completion”
這種方法是比較簡單的修改Response的方法 優(yōu)點: 1) 簡單易操作,選中后即可修改Response結果 2) 所見即所得,,修改后馬上可以看到效果 缺點: 1) 只適用于一次請求,,下次請求需要重新設定 2) 手動修改需要花費時間,如果程序等待超時,,本次設定的Response結果失效 還有一種是自動返回Response結果的方法,,即選中query,,在右邊的按鈕中點擊AutoResponder,并設定query的規(guī)則,,規(guī)則可以是一個文件,,也可以是正則表達式,只要符合該規(guī)則,,即可自動返回Response結果,,Response可以是一個文件,也可以是正則表達式,。具體大家可以自己去研究下,。
6、設置過濾可以設置過濾條件,,過濾選定的域名,,多個域名之間使用分號分隔
參考資料: http://i./2013/04/30/debugging_http_request_with_fiddler/ http://help./Document/Url/Fiddler.htm
WiresharkWireshark是另外一種抓包工具,這種工具比fiddler更強大,,消息量更多,。大家可能會問:有了fiddler,為什么還要用wireshark呢,?這里說下,,在測試中,發(fā)現(xiàn)用fiddler抓包,,有些包是沒有抓到的,,比如在驗證反作弊信息的時候,反作弊pingback信息的消息用fiddler就沒抓到,,用wireshark就抓到了,。還有另外一種情況,就是在驗證cna的時候,,如果先用fiddler抓包,,如果沒有種下cna的時候,以后就永遠沒有cna了,,情況很詭異,。解決辦法就是把包卸載了重新安裝,第一次用wireshark抓包,。 如何使用wiresharkWireshark配置起來比fiddler麻煩一些,,如果不配代理,需要安裝個Connectify來建立熱點,,然后再安裝wireshark進行抓包,,如果配置了代理,直接安裝wireshark即可,。 1. 下載并安裝wireshark 下載地址:http://www.pc6.com/softview/SoftView_63986.html 安裝wireshark,,傻瓜式安裝,。 2. 使用wireshark進行抓包 打開wireshark,界面選擇抓包的接口,,如下圖(是按照我的電腦操作來展現(xiàn)的,,可能每個人電腦上的接口列表不太一樣):
點擊接口,進入抓包界面,,如下圖:
Wireshark抓的包信息量很大,,需要進行一些過濾操作,才能把有用的信息拿到,,紅色標注部分輸入過濾規(guī)則,,即可過濾出我們需要的一些信息。 Wireshark的過濾規(guī)則,,使用的是正則表達式來寫的,。具體可參考:http://wenku.baidu.com/link?url=lpU_NJguXVsiZ1YMTz13b_ngl2xNE--CFh8xChvc5QjisTFV4VhX65ID4TvX5WuaHLX7hRwMfEgTKylnUAdtaOF3rkVF_JfXoEDxjlTgq7i 舉例,如果想過濾域名為“mclick.simba.taobao.com”,,可以設置如下過濾表達式 過濾host:http &&http.host==”mclick.simba.taobao.com” 如何使用Connectify如果需要不使用代理,需要建立熱點來用wireshark進行抓包,。 建立熱點需要用到Connectify,。 1. 下載并安裝Connectify 下載地址: http://softdownload.hao123.com/hao123-soft-online-bcs/soft/C/2013-08-27_ConnectifyInstaller.exe 傻瓜式安裝 2. 配置Connectify 根據提示:設置網絡名稱;網絡密碼等 配置wireshark,,選擇網卡 3. 手機配置 手機連接到配置的connectify配置的網絡上,,輸入密碼,即可把電腦作為熱點,,手機連接到指定的connectify來源:http://www./wanping-logs/238827556.html |
|