fiddler之header、web網頁抓包、修改包

HTTP協議Header介紹
    查看Header:
        選中一個HTTP請求--->單擊Inspectors tab--->request tab--->Headers
        Cache相關的Header:
            HTTP請求和HTTP響應中有很多用於緩存的Header
            HTTP緩存是指當Web請求抵達緩存時,如果本地有“已緩存的”副本,就會從本地存儲設備提取此文檔
        Cookies:
            Cookies是一種HTTP Header
        Accept:
            表示瀏覽器客戶端可以接受的媒體類型
        Accept-    Encoding:
            與壓縮有關,瀏覽器發送HTTP請求給Web服務器,HTTP請求中的Header會告訴服務器,瀏覽器支持的壓縮類型
        Accept-Language:
            Accept-Language的作用是瀏覽器聲明自己接受的語言
        User-Agent:
            User-Agent的作用是用瀏覽器告訴服務器客戶端使用的操作系統、版本、CPU類型....
        Referer:
            HTTP協議頭中的Referer用來判斷來源頁面,即用戶是從哪個頁面來的
            Referer有時也被用作防盜鏈,即下載時判斷來源地址是不是在網站域名之內,否則就不能下載或顯示
        Connection:
            從HTTP/1.1開始,系統默認開啓了Connection:Keep-Alive保持連接特性
            HTTP協議是基於TCP協議的。當網頁被完全打開後,客戶端與服務端之間用於傳輸HTTP數據的TCP連接不會關閉,若客戶端再次訪問此頁面,將繼續使用這一個已經建立的連接
        Host:
            指定被要求的主機和端口號,通常是從HTTP URL中提取出來的
Web網頁抓包和fiddler修改包
    網頁組成:HTML、圖片、CCS文件、JS文件、JSON文件
        網頁打開過程:
            1.在瀏覽器輸入www.baidu.com
            2.瀏覽器會發送第一個HTTP請求去獲取頁面佈局的HTML,此請求爲父請求。然後服務器會將HTTP響應發回給瀏覽器
            3.瀏覽器分析HTTP響應中的HTML。如果發現HTML引用了多個其他文件,如照片、    CSS文件等,瀏覽器會自動再次發送很多HTTP請求,去獲取照片、CSS文件。這些請求爲子請求
            4.當所有子請求的響應都返回後,瀏覽器會把1個父請求加上多個子請求渲染出來。這樣就形成了一個頁面,網頁就在瀏覽器上顯示出來了
        用Fiddler選擇請求
            用Fiddler選擇子請求:
                找到父請求--->鼠標右鍵Select--->Child Requests
            用Fiddler選擇父請求:
                找到子請求--->鼠標右鍵Select--->Parent Requests
            用Fiddler選擇相同請求:
                找到一個請求--->鼠標右鍵Select--->Duplicate Requests
        Web頁面簡單性能測試:
            一個網頁的加載速度和父請求、子請求都有關係
            子請求出現404、500之類的錯誤,會嚴重影響整個網頁的加載速度
            子請求的響應速度慢也會影響網頁加載的速度
            查看響應時間和狀態碼:
                打開一個會話--->啓動Statistics(統計)面板查看
                    在Overall Elapsed查看HTTP響應返回所需要的的響應時間
        使用Fiddler查看響應:
            HTTP響應的可能是一個圖片、HTML文檔、JSON,使用Raw選項卡可以查看完整的HTTP響應,也可使用其他選項卡查看
                如果HTTP響應的是HTML文檔,可以通過WebView選項卡來查看
                如果HTTP響應的是圖片,可以通過Image View選項卡查看
                如果HTTP響應的是JSON,可以通過JSON tab選項卡來格式化JSON,查看更方便
    Fiddler設置斷點修改HTTP請求
        fiddler既能抓包,也能改包。想要修改HTTP報文,需要先下斷點攔截HTTP請求報文或HTTP響應報文,修改後放行
        設置好斷點後,可以修改HTTP請求的任何信息
        設置方法:
            全局斷點(攔截所有會話):
                單擊Rules--->Automatic Breakpoint--->Before Requests
                取消:
                    單擊Rules--->Automatic Breakpoint--->Disabled
            單個斷點(攔截某一個會話):
                在fiddler左下方的命令行中輸入bpu www.baidu.com,攔截百度
                取消:
                    輸入bpu即可
            實例:
                修改HTTP請求:
                    1.啓動全局斷點
                    2.打開瀏覽器,輸入www.baidu.com,被攔截
                    3.將URL修改爲www.taobao.com,HOST修改爲www.taobao.com,單擊綠色按鈕放行
                    4.回到瀏覽器,發現瀏覽器打開了taobao頁面,點擊黃色按鈕,將繼續攔截此HTTP請求的響應
    Fiddler設置斷點修改HTTP響應
        設置斷點,攔截HTTP響應也有兩種方法:
            全局斷點:
                單擊Rules--->Automatic Breakpoint--->After Requests
                取消:
                    單擊Rules--->Automatic Breakpoint--->Disabled
            單個斷點:
                在fiddler左下方的命令行中輸入bpafter www.baidu.com,會中斷百度
                取消:
                    輸入bpafter即可
            實例:
                修改網頁標題:
                    1.啓動fiddler,在左下角命令行輸入 bpafter http://www.cnblogs.com/path/.html
                    2..打開瀏覽器,輸入http://www.cnblogs.com/path/.html,被攔截
                    3.點擊raw修改標題欄內容,單擊綠色按鈕放行
                    4.回到瀏覽器查看網頁標題
    僞造Referer:
        1.設置全局斷點,單擊Rules--->Automatic Breakpoint--->Before Requests
        2.打開瀏覽器,輸入http://path/.png
        3.此時,會受到攔截,在raw中修改HTTP請求,添加一個Referer.www.xxxxx.cn/com...
        4.單擊綠色按鈕運行,在瀏覽器中能夠看到真正的圖片

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章