fiddler常用操作


fiddler常用操作

標簽(空格分隔): fiddler


fidrdler抓取https請求:

fiddler是一個很好的抓包工具,但是默認的是抓取HTTP的,對於pc的https的會提示網頁不安全,這時候我們需要在瀏覽器上安裝證書;

  • 一、網頁不安全:
    1.用fiddler抓包時候,打開百度網頁:https://www.baidu.com
    2.提示:網頁不安全
  • 二、fiddler設置
    1.打開菜單欄:Tools>Fiddler Options>HTTPS
    2.勾選Decrypt HTTPStraffic,里面的兩個子菜單也一起勾選了
    image.png-70.2kB
  • 三、導出證書
    1.點右上角Actions按鈕
    2.選第二個選項,導出到桌面,此時桌面上會多一個文件:FiddlerRoot.cer,如左側圖。
    image.png-157.4kB
  • 四、導入到firefox瀏覽器
    1.打開右上角瀏覽器設置》選項》高級》證書》查看證書》證書機構》導入
    image.png-97.1kB
    2.勾選文件導入
    3.打開文件后,會彈出個框,勾選三個選項就完成操作啦。

如果不成功的話,就重啟瀏覽器重啟電腦就應該可以了;

證書導出的時候失敗問題:

在點Actions時候出現Export Failed:The root certificate could not be located.等等問題;

  • 一、證書無法導出
    1.在點Actions時候出現Export Failed:The root certificate could not be located.

image.png-33.6kB

  • 二種辦法:
    刪除證書:
    方法一:從fiddler里打開證書管理界面
    方法二、從文件管理器輸入:certmgr.msc並回車
    2.搜索之前安裝的fiddler證書,找到之后全部刪除
    3.重新下載證書生成器:http://www.telerik.com/docs/default-source/fiddler/addons/fiddlercertmaker.exe?sfvrsn=2
    一路傻瓜式安裝,遇到警告什么的直接忽略就行。
    4.安裝好證書后,按照1.1章節Fiddler抓包1-抓firefox上https請求的瀏覽器導入證書就行了(弄好之后,重啟電腦就OK了)

只抓取APP的請求:

fiddler在抓取請求的時候,會抓取來自pc的請求,導致會話很多,那么如何把來自pc的請求過濾掉,只抓取來自APP的請求呢?

1.首先手機和電腦要保持在同一局域網段
2.電腦肯定必須裝fiddler的啦

  • 一、設置
    1.fiddler>Tools>Fiddler Options>Connections 勾選Allow remote computers to connect。
    2.記住這里的端口號:8888,后面會用到。
    image.png-93.4kB
  • 二、查看電腦IP
    1.打開cmd,輸入:ipconfig,記住這個IPv4地址。

ipconfig
查看自己的IP地址:

  • 三、設置代理
    1.手機設置->WLAN設置->選擇該wifi,點右邊的箭頭(有的手機是長按彈出選項框)。
    2.長按或者打開手機連接的WiFi,然后,在這里開啟代理:
    image.png-9.1kB
    3.IP輸入:電腦同樣的IP,端口輸入8888
    4.這樣fiddler上邊就可以抓取APP的會話了;

抓取APP的https的請求

  • 1.如果app都是http請求,是不需要安裝證書,能直接抓到的,如果是https請求,這時候手機就需要下載證書了。
    2.打開手機瀏覽器輸入:http://******:8888 ,這個中間的host地址就是前面查到的本機地址。
    3.出現如下畫面,點箭頭所指的位置,點擊安裝就可以了。
    image.png-113.7kB

設置過濾會話

  • 1.手機上設置代理后,這時候fiddler上抓到的是pc和app所有的請求,如果pc上打開網址,會很多,這時候就需要開啟過濾功能了。
    2.打開fiddler>Tools>Fiddler Options>HTTPS>...from remote clients only,勾選這個選項就可以了
    from all processes :抓所有的請求
    from browsers only :只抓瀏覽器的請求
    from non-browsers only :只抓非瀏覽器的請求
    from remote clients only:只抓遠程客戶端請求
    image.png-34.7kB

注意手機設置完代理以后,如果要恢復,記得關閉代理,不然手機無法上網!!!!;

get和post請求:

前面說了fiddler基本用法,大家可以自己行安裝和使用了,這里我們主要說說get和post請求的一些區別:

  • 一、get請求
    1.打開fiddler工具,然后瀏覽器輸入博客首頁地址:http://www.cnblogs.com/surewing/
    2.點開右側Inspectors下的Headers區域,查看Request Headers
    3.Request Headers區域里面的就是請求頭信息,可以看到打開博客園首頁的是get請求
    image.png-735.4kB
  • 三、如何找出需要的請求
    1.打開fiddler后,左邊會話框區域刷刷刷的很多請求,那么如何有效的找出自己需要的請求呢?
    2.首先第一步:清屏(cls),在左下角命令行輸入cls,清空屏幕(清屏也可以使用快捷鍵Ctrl+X)
    image.png-21.8kB

get 請求和post請求的區別:

get和post請求參數區別
1.關於get和post的功能上區別就不說了,大家自己查資料,這里主要從fiddler抓包的層面查看請求參數上的區別
2.get請求的Raw參數查看,主要分三部分:
--第1部分是請求url地址
--第2部分是host地址
--第3部分是請求頭部信息header
image.png-157.4kB

3.再查看博客登錄請求的Raw信息,post的信息分四部分。
--前面3塊內容都一樣,第3部分和第4部分中間會空一行
--第4部分內容就是post請求的請求body(get請求是沒body的)
image.png-143.7kB

request和response

image.png-185.6kB
查看工具的界面,這里不在贅述了

  • 二、會話框
    1.會話框主要查看請求的一些請求的一些基本信息,如# 、result、protocol、host、url、body、 caching、content-type、process
    2、#:會話框列表最左側,#號這一欄是代表這個請求大概是什么內容,<>這個符號就是我們一般要測試的請求與響應的類型。
    3.result:這里是服務器返回的代碼,如
    --200,請求ok;2xx一般是服務器接受成功了並處理
    --3xx,重定向相關
    --4xx,404最常見的的就是找不到服務器,一般是請求地址有問題
    --5xx,這個一般是服務器本身的錯誤
    4.protocol:這個是協議類型,如http、https
    5.host:主機地址或域名
    6.url:請求的路徑
    7.body:該條請求產生的數據大小
    8.caching:緩存相關
    9.content-type:連接類型
    10.process:客戶端類型
  • 三、Request 和Response
    1.Request是客戶端發出去的數據,Response是服務端返回過來的數據,這兩塊區域功能差不多
    最右側的是,請求和響應的數據:
    2.headers:請求頭,這里包含client、cookies、transport等
    3.webfroms:請求參數信息表格展示,更直觀。可以直接該區域的參數
    4.Auth:授權相關,如果顯示如下兩行,說明不需要授權,可以不用關注
    (這個目前很少見了)
    No Proxy-Authorization Header is present.
    No Authorization Header is present.
    5.cookies:查看cookie詳情
    6.raw:查看一個完整請求的內容,可以直接復制
    7.json:查看json數據
    8.xml:查看xml文件的信息

四、decode解碼
1.如果response的TextView區域出現亂碼情況,可以直接點下方黃色區域解碼
image.png-22.9kB
2.也可以選中上方快捷菜單decode,這樣后面的請求都會自動解碼了

fiddler 做接口測試:

fiddler抓包有很大的優勢,但是,fiddler做接口測試也是非常方便的;
image.png-72.6kB
1.請求方式:點開可以勾選請求協議是get、post等
2.url地址欄:輸入請求的url地址
3.請求頭:第三塊區域可以輸入請求頭信息
4.請求body:post請求在此區域輸入body信息
5.執行:Execute按鈕點擊后就可以執行請求了
6.http版本:可以勾選http版本
7.請求歷史:執行完成后會在右側History區域生成歷史記錄

二、模擬get請求
1.在Composer區域地址欄輸入博客首頁:http://www.cnblogs.com/surewing/
2.選擇get請求,點Execute執行,請求就可以發送成功啦
3.請求發送成功后,左邊會話框會生成一個會話記錄,可以查看抓包詳情
4.右側history區域會多一個歷史請求記錄
image.png-71.3kB

5.會話框選中該記錄,查看測試結果:
--選中該會話,點開Inspectors
--response區域點開Raw區域
--Raw查看的是HTML源碼的數據
--也可以點WebView,查看返回的web頁面數據

  • json數據
    三、Json數據
    1.有些post的請求參數和返回參數是Json格式的,如博客園的登錄請求:https://passport.cnblogs.com/user/signin
    2.在登錄頁面手動輸入賬號和密碼,登錄成功。
    3.找到這個登錄成功的會話,查看json數據如下圖

image.png-82.6kB

  • 四、模擬post請求
    1.請求類型勾選post
    2.url地址欄輸入對應的請求地址
    3.body區域寫登錄的json參數,json參數直接copy上一步抓包的數據,如下圖紅色區域
    image.png-113.9kB

4.header請求頭區域,可以把前面登錄成功后的頭部抓包的數據copy過來
(注意,有些請求如果請求頭為空的話,會請求失敗的)
image.png-117.3kB

post請求:

只是一般來說,post請求的參數習慣放到body部分
一、body數據類型
常見的post提交數據類型有四種:
1.第一種:application/json:這是最常見的json格式,也是非常友好的深受小伙伴喜歡的一種,如下
{"input1":"xxx","input2":"ooo","remember":false}

2.第二種:application/x-www-form-urlencoded:瀏覽器的原生 form 表單,如果不設置 enctype 屬性,那么最終就會以 application/x-www-form-urlencoded 方式提交數

3.第三種:multipart/form-data:這一種是表單格式的,數據類型如下
------WebKitFormBoundaryrGKCBY7qhFd3TrwA
Content-Disposition: form-data; name="text"

title

------WebKitFormBoundaryrGKCBY7qhFd3TrwA

Content-Disposition: form-data; name="file"; filename="chrome.png"

Content-Type: image/png

PNG ... content of chrome.png ...

------WebKitFormBoundaryrGKCBY7qhFd3TrwA--

二、json格式
1.打開博客園的登錄頁面,輸入賬號密碼后抓包,查看post提交數據,點開Raw查看整個請求的原始數據
image.png-109.3kB
3.查看json格式的樹狀結構,更友好,可以點開JSON菜單項
image.png-39.4kB

三、x-www-form-urlencoded
1.登錄博客園后,打開新隨筆,隨便寫一個標題和一個正文后保存,抓包數據如下
image.png-27.7kB
2.如上圖的這種格式,很明顯就屬於第二種了,這種類型的數據查看,在WebFrom里面查看了

四、WebFrom
1.為什么登錄請求的WebFrom的body部分為空呢?
image.png-36.6kB
2.看上圖紅色框框的顯示:這里只支持application/x-www-form-urlencoded這種格式的body參數,也就是說json格式的,需要在JOSN這一欄查看了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM