• 抓包工具 Fiddler 使用介绍


    简介

    Fiddler是一个抓包工具,可以将网络传输发送与接收的数据包进行截获、重发、编辑等操作。也可以用来检测流量。原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888,我们也可以通过设置进行修改。

    Fiddler是通过改写HTTP代理,让数据从它那通过,来监控并且截取到数据。在打开它的那一瞬间,它就已经设置好了浏览器的代理了。当你关闭的时候,它又帮你把代理还原了。Fiddler也可以抓取支持https代理的任意程序的数据包但是需要要先安装证书。

    代理就是在客户端和服务器之间设置一道关卡,客户端先将请求数据发送出去后,代理服务器会将数据包进行拦截,代理服务器再冒充客户端发送数据到服务器;同理,服务器将响应数据返回,代理服务器也会将数据拦截,再返回给客户端。

    工具栏

    说明注释、重新请求、删除会话、继续执行、流模式/缓冲模式、解码、保留会话、监控指定进程、寻找、保存会话、切图、计时、打开浏览器、清除IE缓存、编码/解码工具、弹出控制监控面板、MSDN、帮助

    开启抓包

    Fiddler想要抓到数据包,要确保Capture Traffic是开启,在File –> Capture Traffic。开启后再左下角会有显示,当然也可以直接点击左下角的图标来关闭/开启抓包功能。

    或者通过点击左下角图标。开启的时候该图标显示,关闭的时候该图标隐藏。

    一般直接打开Fiddler的时候就开始自动抓包了。

    已抓取数据包列表

    每个Fiddler抓取到的数据包都会在该列表中展示,点击具体的一条数据包可以在右侧菜单点击Insepector查看详细内容。主要分为请求(即客户端发出的数据)和响应(服务器返回的数据)两部分。

    数据包列表字段

    名称

    含义

    #

    抓取HTTP Request的顺序,从1开始,以此递增

    Result

    HTTP状态码

    Protocol

    请求使用的协议,如HTTP/HTTPS/FTP等

    Host

    请求地址的主机名

    URL

    请求资源的位置

    Body

    该请求的大小

    Caching

    请求的缓存过期时间或者缓存控制值

    Content-Type

    请求响应的类型

    Process

    发送此请求的进程:进程ID

    Comments

    允许用户为此回话添加备注

    Custom

    允许用户设置自定义值

    数据包列表图标

    图标

    含义

    clip_image001[13]

    请求已经发往服务器

    clip_image002[4]

    已从服务器下载响应结果

    clip_image003[4]

    请求从断点处暂停

    clip_image004[4]

    响应从断点处暂停

    clip_image005[4]

    请求使用 HTTP 的 HEAD 方法,即响应没有内容(Body)

    clip_image006[4]

    请求使用 HTTP 的 POST 方法

    clip_image007[4]

    请求使用 HTTP 的 CONNECT 方法,使用 HTTPS 协议建立连接隧道

    clip_image008[4]

    响应是 HTML 格式

    clip_image009[4]

    响应是一张图片

    clip_image010[4]

    响应是脚本格式

    clip_image011[4]

    响应是 CSS 格式

    clip_image012[4]

    响应是 XML 格式

    clip_image013[4]

    响应是 JSON 格式

    clip_image014[4]

    响应是一个音频文件

    clip_image015[4]

    响应是一个视频文件

    clip_image016[4]

    响应是一个 SilverLight

    clip_image017[4]

    响应是一个 FLASH

    clip_image018[4]

    响应是一个字体

    clip_image019[4]

    普通响应成功

    clip_image020[4]

    响应是 HTTP/300、301、302、303 或 307 重定向

    clip_image021[4]

    响应是 HTTP/304(无变更):使用缓存文件

    clip_image022[4]

    响应需要客户端证书验证

    clip_image023[4]

    服务端错误

    clip_image0244

    会话被客户端、Fiddler 或者服务端终止

    Statistics选项

    统计面板,这里显示请求性能,随意点击一个请求,就可以看到Statistics关于该HTTP请求的性能以及数据分析了。

    Inspectors选项(常用)

    Inspectors是用于查看会话的内容,上半部分是请求的内容,下半部分是响应的内容。

    请求区域

    名称

    含义

    Headers

    TextView

     显示请求的数据

    SyntaxView

     以表单形式显示所有的请求参数和参数值

    WebForms

    HexView

    Auth

     显示认证信息

    Cookies

     显示所有cookies

    Raw

     显示Headers和Body数据

    JSON

     若请求数据是json格式,以json形式显示请求内容

    XML

     若请求数据是xml格式,以xml形式显示请求内容

    响应区域

    名称

    含义

    Transformer

    Headers

    TextView

     显示响应的数据

    SyntaxView

    ImageView

    HexView

    WebView

    Auth

     显示认证信息

    Caching

    Cookies

     显示所有cookies

    Raw

     显示Headers和Body数据

    JSON

     若响应数据是json格式,以json形式显示响应内容

    XML

     若响应数据是xml格式,以xml形式显示响应内容

    AutoResponder选项

    AutoResponder允许你拦截指定规则的求情,并返回本地资源或Fiddler资源,从而代替服务器响应。

    Composer选项(常用)

    Composer允许自定义请求发送到服务器,可以手动创建一个新的请求,也可以在会话表中,拖拽一个现有的请求。常用于模拟GET和POST请求。

    模拟GET请求

    GET请求比较简单,接下来说下模拟POST请求。

    模拟POST请求

    这里模拟的是发送JSON数据,主要是需要在请求头设置下 Content-Type : application/json;charset=utf-8 ,然后在请求体里写上JSON数据。

    如果发送普通文本数据的话,不需要设置请求头,默认的 Content-Type 是 application/x-www-form-urlencoded,表示普通的form表单元素提交,在发送前编码所有字符,提交的参数格式遵循:name=value&name=value&name=value...。也就是说要按照这种格式把数据写在请求体里。

    请求结果

    Fiddler Orchestra Beta选项

    FiddlerScript选项

    显示的是该请求的JS脚本。

    Log选项

    能够查看该次请求的日志。

    Filters 选项(常用)

    Fiters 是过滤请求用的,左边的窗口不断的更新,当你想看你系统的请求的时候,你刷新一下浏览器,一大片不知道哪来请求,看着碍眼,它还一直刷新你的屏幕。这个时候通过过滤规则来过滤掉那些不想看到的请求。

    勾选左上角的Use Filters开启过滤器,这里有两个最常用的过滤条件:Zone和Host

    Zone 指定只显示内网(Intranet)或互联网(Internet)的内容。

    Host 可选择隐藏,展示,标记某个域名下的会话。

    设定好后可点击Actions中的 Run Filterset now 来执行过滤条件。

    Timeline 选项

    Timeline显示请求响应时间,在左侧会话窗口点击一个或多个(同时按下 Ctrl 键),Timeline 便会显示指定内容从服务端传输到客户端的时间。

    Fiddler 命令行

    命令行在左下角

    FIddler断点功能就是将请求截获下来,但是不发送,这个时候你可以干很多事情,比如说,把包改了,再发送给服务器君。还有一大堆的事情可以做,就不举例子了。

    命令

    对应请求项

    介绍

    示例

    ?

    All

    问号后边跟一个字符串,可以匹配出包含这个字符串的请求

    ?google

    >

    Body

    大于号后面跟一个数字,可以匹配出请求大小,大于这个数字请求

    >1000

    <

    Body

    小于号跟大于号相反,匹配出请求大小,小于这个数字的请求

    <100

    =

    Result

    等于号后面跟数字,可以匹配HTTP返回码

    =200

    @

    Host

    @后面跟Host,可以匹配域名

    @www.baidu.com

    select

    Content-Type

    select后面跟响应类型,可以匹配到相关的类型

    select image

    cls

    All

    清空当前所有请求

    cls

    dump

    All

    将所有请求打包成saz压缩包,保存到“我的文档Fiddler2Captures”目录下

    dump

    start

    All

    开始监听请求

    start

    stop

    All

    停止监听请求

    stop

    断点命令

    对应请求项

    介绍

    示例

    bpafter

    All

    bpafter后边跟一个字符串,表示中断所有包含该字符串的请求

    bpafter baidu(输入bpafter解除断点)

    bpu

    All

    跟bpafter差不多,只不过这个是收到请求了,中断响应

    bpu baidu(输入bpu解除断点)

    bps

    Result

    后面跟状态吗,表示中断所有是这个状态码的请求

    bps 200(输入bps解除断点)

    bpv / bpm

    HTTP方法

    只中断HTTP方法的命令,HTTP方法如POST、GET

    bpv get(输入bpv解除断点)

    g / go

    All

    放行所有中断下来的请求

    g

    参考地址:https://www.cnblogs.com/yyhh/p/5140852.html

    https://www.cnblogs.com/conquerorren/p/8472285.html

  • 相关阅读:
    Android自定义drawable(Shape)详解
    如何设置对话框的宽度和高度
    Android资料之-EditText中的inputType
    android4.0 禁止横竖屏切换使用 android:configChanges="orientation|keyboardHidden"无效的解决方法
    android ScrollView 充满屏幕
    治疗神经衰弱最有效的方法和药物是什么
    交换机和路由器的区别
    小众编程语言同样值得你关注
    RotateAnimation详解
    你可能没听过的 Java 8 中的 10 个特性
  • 原文地址:https://www.cnblogs.com/wbxk/p/8446818.html
Copyright © 2020-2023  润新知