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.单击绿色按钮运行,在浏览器中能够看到真正的图片

发布了48 篇原创文章 · 获赞 422 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_45331873/article/details/105458666