zoukankan      html  css  js  c++  java
  • fiddler -- 一个强大的抓包工具

    一、fiddler常用功能:

    1. Fiddler 是位于客户端和服务器端的http代理,也是目前最常用的http抓包工具之一。它能够记录客户端和服务器之间的所有http请求,可以针对特定的http请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是web调试的利器。

    既然是代理,也就是说,客户端的所有请求都要先经过fiddler,然后转发到相应的服务器,反之,服务器端的所有响应,也都会先经过fiddler然后发送到客户端,基于这个原因,fiddler支持所有可以设置http代理为127.0.0.1:8888的浏览器和应用程序。使用了fiddler之后,web客户端和服务器的请求如下所示:

    2. fiddler界面如下:

    3. Inspectors Tab下可以查看request的消息

    1) Header : 查看header 2) WebForms:以直观的界面查看body的值以及Query String的值 3)Cooikes : 以直观的界面查看header中cookie的值 4) Raw : 可以查看完整的消息结构

    4. Statistics:统计当前的会话信息,可获得整个页面加载所消耗的总体时间,从条形图标中可以分别出哪些请求耗时最多,以便于对页面的访问进行访问速度优化

    5. Fiddler左下角有个命令行工具QuickExec,可以直接输入命令,常见的命令有:

    ① help:打开官方的使用页面介绍,所有的命令都会列出来 ② cls :清屏(Ctrl + X)③ select :选择会话的命令 ④ ?.png :用来选择.png后缀的图片⑤ bpu :截获request

    6. fiddler中设置断点修改request:

    ① 方法一:打开fiddler,点击Rules ->Automatic Breakpoint ->before Requests (这种方法会中断所有会话),消除命令:点击Rules ->Automatic Breakpoint ->Disabled

    ② 方法二:在命令行中输入命令:bpu www.baidu.com (这种方法只会中断www.baidu.com),消除命令:在命令行中输入bpu,bpm

    7. fiddler中设置断点修改response:

    ① 方法一:点击Rules ->Automatic Breakpoint ->after Response (这种方法会中断所有会话),消除命令:点击Rules ->Automatic Breakpoint ->Disabled

    ② 方法二:在命令行中输入命令:bpafter www.baidu.com(这种方法只会中断www.baidu.com),消除命令:在命令行中输入bpafter

    8.fiddler常用断点命令:

    bpafter xxx :中断URL包含指定字符的全部session响应(或者bpu xxx)

    bps xxx :中断http响应状态为指定字符的全部session响应

    bpv xxx :中断指定请求方式的全部session(或者bpm xxx)

    go命令 :可以使得当前的请求跳过断点

    9. 查询会话:Ctrl + F

    10 . 保存会话 :选择想要保存的会话,点击File ->Save ->Selected sessions

    11. fiddler模拟各种浏览器,可以点击菜单Rules -> User ->Agents

    12. fiddler的Fiter功能使用:

    ①选择fiter ->选择 show only the following Hosts 选项,下方输入需要抓的url,点击Actions

    ② 在Composer中选择请求方法,输入url,选择http版本,点击Execute,点击Inspectors按钮以及JSON按钮,查看url的对应的接口以及返回的JSON文件,获取接口(没有接口文档的情况下可以用来抓取接口)

    ③ 想要抓取HTTPS的请求,需要浏览器安装证书,从fiddler中导出证书,然后打开浏览器导入证书

    ④ 检查代理设置,勾选对所有协议均使用相同的代理服务器

    二、fiddler实现手机的抓包:

    1. 手机抓包的前提:安装fiddler的电脑与手机app在同一网络中 

    2. 配置fiddler,允许远程连接

    ①打开fiddler,Tools ->Fiddler Options ->Connections ->勾选Allow remote computers to connect,允许其他设备将http / https请求发送到fiddler上来

    ② 选择HTTPS ->勾选HTTPS CONNECTS 

    3. 手机设置代理

    ① cmd -> ipconfig 查出电脑ip,并在手机上设置手动代理,输入电脑ip,端口号:8888并保存

    ② 要想抓取HTTPS请求,手机还需要安装证书,手机浏览器访问:http://电脑ip:8888,点击FiddlerRoot certificate安装证书即可

    ③ 点击手机中的设置 ->通用 ->关于本机 ->证书信息设置(信任)

  • 相关阅读:
    卡片式电脑介绍
    怎样对ListView的项进行排序
    jsp 声明类的使用
    Linux下启用Chrome/Firefox的Java插件
    strcmp函数和strcpy函数
    Python+Django+SAE系列教程9-----Django的视图和URL
    美团面试,面一次,累一次
    关于 Head First SQL 中文版
    Linux 内核的编译系统
    简单的REST的框架实现
  • 原文地址:https://www.cnblogs.com/annie1226/p/10758520.html
Copyright © 2011-2022 走看看