为什么要先学fiddler?学习接口测试必学http协议,如果直接先讲协议,我估计小伙伴们更懵,为了更好的理解协议,先从抓包开始。结合抓包工具讲http协议更容易学一些。

抓firefox上https请求fiddler是一个很好的抓包工具,默认是抓http请求的,对于pc上的https请求,会提示网页不安全,这时候需要在浏览器上安装证书。

目录

序章:

1. Fiddler 抓包简介

1) Fiddler字段说明

2). Statistics 请求的性能数据分析

3). Inspectors 查看数据内容

4). AutoResponder 允许拦截指定规则的请求

5). Composer 自定义请求发送服务器

6). Filters 请求过滤规则

2. Fiddler 设置解密HTTPS的网络数据

3. Fiddler 抓取Iphone / Android数据包

4. Fiddler 内置命令与断点


序章:

Fiddler是一个蛮好用的抓包工具,可以将网络传输发送与接受的数据包进行截获、重发、编辑、转存等操作。也可以用来检测网络安全。反正好处多多,举之不尽呀!当年学习的时候也蛮费劲,一些蛮实用隐藏的小功能用了之后就忘记了,每次去网站上找也很麻烦,所以搜集各大网络的资料,总结了一些常用的功能。

Fiddler 下载地址 :Download Fiddler Web Debugging Tool for Free by Telerik

Fiddler 离线下载地址:百度网盘 请输入提取码 密码:5skw

下载Fiddler要FQ,我费了好大得劲才翻出去下载到…

win8之后用“Fiddler for .NET4”而win8之前用“Fiidler for .NET2”比较好

Fiddler抓包

1. Fiddler 抓包简介

Fiddler是通过改写HTTP代理,让数据从它那通过,来监控并且截取到数据。当然Fiddler很屌,在打开它的那一瞬间,它就已经设置好了浏览器的代理了。当你关闭的时候,它又帮你把代理还原了,是不是很贴心。。。

Fiddler抓包

1) Fiddler字段说明

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

Fiddler抓包

Fiddler开始工作了,抓到的数据包就会显示在列表里面,下面总结了这些都是什么意思:

Fiddler抓包教程

名称

含义

#

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

Result

HTTP状态码

Protocol

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

Host

请求地址的主机名

URL

请求资源的位置

Body

该请求的大小

Caching

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

Content-Type

请求响应的类型

Process

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

Comments

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

Custom

允许用户设置自定义值

图标

含义

请求已经发往服务器

已从服务器下载响应结果

请求从断点处暂停

响应从断点处暂停

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

请求使用 HTTP 的 POST 方法

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

响应是 HTML 格式

响应是一张图片

响应是脚本格式

响应是 CSS 格式

响应是 XML 格式

响应是 JSON 格式

响应是一个音频文件

响应是一个视频文件

响应是一个 SilverLight

响应是一个 FLASH

响应是一个字体

普通响应成功

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

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

响应需要客户端证书验证

服务端错误

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

2). Statistics 请求的性能数据分析

好了。左边看完了,现在可以看右边了

随意点击一个请求,就可以看到Statistics关于HTTP请求的性能以及数据分析了(不可能安装好了Fiddler一条请求都没有…):

Fiddler抓包教程、Fiddler抓包工具、Fiddler抓包软件、Fiddler抓包、Fiddler、Fiddler教程

3). Inspectors 查看数据内容

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

Fiddler抓包教程、Fiddler抓包工具、Fiddler抓包软件、Fiddler抓包、Fiddler、Fiddler教程

4). AutoResponder 允许拦截指定规则的请求

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

看下图5步,我将“baidu”这个关键字与我电脑“f:\Users\YukiO\Pictures\boy.jpeg”这张图片绑定了,点击Save保存后勾选Enable rules,再访问baidu,就会被劫持。

这个玩意有很多匹配规则,如:

1. 字符串匹配(默认):只要包含指定字符串(不区分大小写),全部认为是匹配

字符串匹配(XXX) 是否匹配
http://www.XXX.com 匹配
http://pan.XXX.com 匹配
http://tieba.XXX.com 匹配

2. 正则表达式匹配:以“regex:”开头,使用正则表达式来匹配,这个是区分大小写的

字符串匹配(regex:.+.(jpg | gif | bmp ) $) 是否匹配
http://bbs.XX.com/Path1/query=foo.bmp&bar 不匹配
http://bbs.XX.com/Path1/query=example.gif 匹配
http://bbs.XX.com/Path1/query=example.bmp 匹配
http://bbs.XX.com/Path1/query=example.Gif 不匹配

Fiddler抓包教程、Fiddler抓包工具、Fiddler抓包软件、Fiddler抓包、Fiddler、Fiddler教程

Fiddler抓包教程、Fiddler抓包工具、Fiddler抓包软件、Fiddler抓包、Fiddler、Fiddler教程

5). Composer 自定义请求发送服务器

Composer允许自定义请求发送到

服务器,可以手动创建一个新的请求,也可以在会话表中,拖拽一个现有的请求

Parsed模式下你只需要提供简单的URLS地址即可(如下图,也可以在RequestBody定制一些属性,如模拟浏览器User-Agent)

Fiddler抓包教程、Fiddler抓包工具、Fiddler抓包软件、Fiddler抓包、Fiddler、Fiddler教程

6). Filters 请求过滤规则

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

Fiddler抓包教程、Fiddler抓包工具、Fiddler抓包软件、Fiddler抓包、Fiddler、Fiddler教程

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

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

Fiddler抓包教程

2、Host 指定显示某个域名下的会话:

Fiddler抓包教程

如果框框为黄色(如图),表示修改未生效,点击红圈里的文字即可

7). Timeline 请求响应时间

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

2. Fiddler 设置解密HTTPS的网络数据

Fiddler可以通过伪造CA证书来欺骗浏览器和服务器。Fiddler是个很会装逼的好东西,大概原理就是在浏览器面前Fiddler伪装成一个HTTPS服务器,而在真正的HTTPS服务器面前Fiddler又装成浏览器,从而实现解密HTTPS数据包的目的。

解密HTTPS需要手动开启,依次点击:

1. Tools –> Fiddler Options –>  HTTPS

Fiddler抓包教程、Fiddler抓包工具、Fiddler抓包软件、Fiddler抓包、Fiddler、Fiddler教程

2. 勾选Decrypt HTTPS Traffic

Fiddler抓包教程、Fiddler抓包工具、Fiddler抓包软件、Fiddler抓包、Fiddler、Fiddler教程

3. 点击OK

3. Fiddler 抓取Iphone / Android数据包

想要Fiddler抓取移动端设备的数据包,其实很简单,先来说说移动设备怎么去访问网络,看了下面这张图,就明白了。

Fiddler抓包教程、Fiddler抓包工具、Fiddler抓包软件、Fiddler抓包、Fiddler、Fiddler教程

可以看得出,移动端的数据包,都是要走wifi出去,所以我们可以把自己的电脑开启热点,将手机连上电脑,Fiddler开启代理后,让这些数据通过Fiddler,Fiddler就可以抓到这些包,然后发给路由器(如图):

Fiddler抓包教程、Fiddler抓包工具、Fiddler抓包软件、Fiddler抓包、Fiddler、Fiddler教程

1. 打开Wifi热点,让手机连上(我这里用的360wifi,其实随意一个都行)

2. 打开Fidder,点击菜单栏中的 [Tools] –> [Fiddler Options]

3. 点击 [Connections] ,设置代理端口是8888, 勾选 Allow remote computers to connect, 点击OK

4. 这时在 Fiddler 可以看到自己本机无线网卡的IP了(要是没有的话,重启Fiddler,或者可以在cmd中ipconfig找到自己的网卡IP)

5. 在手机端连接PC的wifi,并且设置代理IP与端口(代理IP就是上图的IP,端口是Fiddler的代理端口8888)

6. 访问网页输入代理IP和端口,下载Fiddler的证书,点击下图FiddlerRoot certificate

【注意】:如果打开浏览器碰到类似下面的报错,请打开Fiddler的证书解密模式(Fiddler 设置解密HTTPS的网络数据)

No root certificate was found. Have you enabled HTTPS traffic decryption in Fiddler yet?

7. 安装完了证书,可以用手机访问应用,就可以看到截取到的数据包了。(下图选中是布卡漫画的数据包,下面还有QQ邮箱的)

4. Fiddler 内置命令与断点

Fiddler还有一个藏的很深的命令框,就是眼前,我用了几年的Fiddler都没有发现它,偶尔在别人的文章发现还有这个小功能,还蛮好用的,整理下记录在这里。

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

命令

对应请求项

介绍

示例

?

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压缩包,保存到“我的文档\Fiddler2\Captures”目录下

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

示例演示:

?

>

<

=

@

select

cls

dump

断点命令:

断点可以直接点击Fiddler下图的图标位置,就可以设置全部请求的断点,断点的命令可以精确设置需要截获那些请求。如下示例:

Fiddler抓包教程、Fiddler抓包工具、Fiddler抓包软件、Fiddler抓包、Fiddler、Fiddler教程

命令:

bpafter

bps

Fiddler抓包教程、Fiddler抓包工具、Fiddler抓包软件、Fiddler抓包、Fiddler、Fiddler教程

bpv

g / go

Fiddler抓包教程、Fiddler抓包工具、Fiddler抓包软件、Fiddler抓包、Fiddler、Fiddler教程

tag:Fiddler抓包教程、Fiddler抓包工具、Fiddler抓包软件、Fiddler抓包、Fiddler、Fiddler教程

部分参考资料网络整理.

Fiddler抓包:详解Fiddler抓包工具软件使用教程相关推荐

  1. docker 管理工具_详解Docker可视化管理工具shipyard--部署教程及功能展示

    概述 谈及docker,避免不了需要熟练的记住好多命令及其用法,对于熟悉shell.技术开发人员而言,还是可以接受的,熟练之后,命令行毕竟是很方便的,便于操作及脚本化.但对于命令行过敏.非技术人员,进 ...

  2. Mac下使用Fiddler抓包详解(个人使用过程)

    Mac下使用Fiddler抓包详解(个人使用过程) 前言 1.VMware Fusion for Mac 2.win7镜像 3.windows版fiddler mac使用Windows fiddler ...

  3. iOS开发——使用Charles进行https网络抓包详解

    我在前面两篇博客中<网络抓包工具Charles的介绍与使用><iOS开发--使用Charles进行http网络抓包详解>对Charles的http抓包进行了详细的讲解.今天我们 ...

  4. Web协议详解与抓包实战之HTTP1.1 学习笔记【一】

    Web协议详解与抓包实战之HTTP1.1[一] 前言 <Web协议详解与抓包实战>课程学习,陶辉老师主讲 学习内容: HTTP–TLS/SSL–TCP/IP自上而下根据应用学习web协议H ...

  5. 详解usbmon抓取的log各字段的含义

    详解 usbmon 抓取的 log 各字段的含义 在上篇文章中,我们已经介绍了如何在 linux 下使用 usbmon 抓取 usb 总线上数据的方法.(https://www.cnblogs.com ...

  6. IP协议及IP数据包详解

    本文转自至:https://blog.csdn.net/super_yc/article/details/72290931 回忆一下网络层的主要功能:通过TCP或者UDP协议绘制网络地图,数据包选取合 ...

  7. 详解BLE 空中包格式—兼BLE Link layer协议解析

    BLE有几种空中包格式?常见的PDU命令有哪些?PDU和MTU的区别是什么?DLE又是什么?BLE怎么实现重传的?BLE ACK机制原理是什么?希望这篇文章能帮你回答以上问题. 虽然BLE空中包(pa ...

  8. android jar 包 意见反馈功能,android重点jar包详解.docx

    android重点jar包详解 深入理解View(一):从setContentView谈起 我们都知道?MVC,在Android中,这个?V?即指View,那我们今天就来探探View的究竟.在onCr ...

  9. 详解linux下auto工具制作Makefile源码包(制作篇)

    2019独角兽企业重金招聘Python工程师标准>>> 详解linux下auto工具制作Makefile源码包(制作篇) 水木杨 一.     概述 为了更好的制作configure ...

  10. java axis2 jar_Java axis2.jar包详解及缺少jar包错误分析

    Java  axis2.jar包详解及缺少jar包错误分析 一.最小开发jar集 axis2 开发最小jar包集: activation-1.1.jar axiom-api-1.2.13.jar ax ...

最新文章

  1. AngularJS和DataModel
  2. 如何快速转载别人的博客文章
  3. java doc 文档,注解详解
  4. monkey测试===ios-monkey测试工具
  5. TiDB Ecosystem Tools 原理解读系列(二)TiDB-Lightning Toolset 介绍
  6. JVM调优总结(九)-新一代的垃圾回收算法
  7. 如何免费获得Gartner关于field Service management各产品魔力象限报告
  8. cf1208E. Let Them Slide
  9. java 继承 实现 会重写 方法吗_java 中继承,组合,重载,重写的实现原理 (转)...
  10. php数组如何去掉相同的元素,如何去掉php数组中的重复的元素
  11. dns 服务器 linux_在Linux上构建自己的DNS服务器
  12. 大前端页面布局插件收藏
  13. HTML+CSS实现小米账号注册界面
  14. 日历算法学习总结——公历
  15. 免费且快速搭建个人www服务器的教程
  16. 249PHP等于多少钱,一百万新台币等于多少人民币
  17. git常用命令及Commit message规则
  18. 怎么快速发表期刊论文
  19. 现代密码学之数字签名
  20. python_安居客区域房源均价工具(matplotlib)

热门文章

  1. 什么是幻读?以及如何解决幻读?
  2. 在两台 ubuntu 之间传输大文件
  3. 直方图均衡化、自适应直方图均衡化
  4. python读取json文件,大批量写入mongo
  5. GaussDB数据库管理
  6. 排名前6位的最流行的大数据框架,你在用哪一款?
  7. oro什么意思_oro
  8. 简述Python数据类型
  9. Golang 浮点数运算 避免精度损失 Decimal包
  10. crt上次文件到服务器,crt登陆到ftp服务器