提前声明:该专栏涉及的所有案例均为学习使用,如有侵权,请联系本人删帖!

文章目录

  • 一、Fiddler介绍
  • 二、Fiddler抓包简介
    • 2.1简单使用及其字段说明
    • 2.2 Statistics 请求的性能数据分析
    • 2.3 Inspectors 查看数据内容
    • 2.4 AutoResponder 允许拦截指定规则的请求
    • 2.5 Composer 自定义请求发送服务器
    • 2.6 Filters 请求过滤规则
    • 2.7 Timeline 请求响应时间
  • 三、Fiddler 配置解析HTTPS
  • 四、Fidder抓取手机端数据表配置
  • 五、Fiddler 内置命令与断点

一、Fiddler介绍

本文参考链接:https://www.cnblogs.com/yyhh/p/5140852.html

作用:

  • 能够监听http/httpS的流量,可以截获从浏览器或者客户端软件向服务器发送的http/https请求;
  • 对截获之后的请求,我们还能够查看请求中的内容;
  • 伪造请求。不仅可以伪造客户端的请求,还能够伪造服务器的响应。——该功能能够方便我们进行前后端的调式。
  • 测试网站的性能;
  • 解密https的外部会话。因为https本身是一种加密的协议,通过fiddle我们可以进行解密操作;
  • 提供第三方扩展插件,满足更多需求。

工作原理:

下载安装

  • 官网下载:https://www.telerik.com/fiddler
  • 一路向下安装

二、Fiddler抓包简介

2.1简单使用及其字段说明

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

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.2 Statistics 请求的性能数据分析

随意点击一个请求,就可以看到Statistics关于HTTP请求的性能以及数据分析了:

2.3 Inspectors 查看数据内容

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

2.4 AutoResponder 允许拦截指定规则的请求

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

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

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

  1. 字符串匹配(默认):只要包含指定字符串(不区分大小写),全部认为是匹配
字符串匹配(baidu) 是否匹配
http://www.baidu.com 匹配
http://pan.baidu.com 匹配
http://tieba.baidu.com 匹配
  1. 正则表达式匹配:以“regex:”开头,使用正则表达式来匹配,这个是区分大小写的
字符串匹配(regex:.+.(jpg | gif | bmp ) $) 是否匹配
http://bbs.fishc.com/Path1/query=foo.bmp&bar 不匹配
http://bbs.fishc.com/Path1/query=example.gif 匹配
http://bbs.fishc.com/Path1/query=example.bmp 匹配
http://bbs.fishc.com/Path1/query=example.Gif 不匹配

结果


2.5 Composer 自定义请求发送服务器

Composer允许自定义请求发送到服务器,可以手动创建一个新的请求,也可以在会话表中,拖拽一个现有的请求

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

2.6 Filters 请求过滤规则

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

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


2.7 Timeline 请求响应时间

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

三、Fiddler 配置解析HTTPS

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

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

Tools –> Options –> HTTPS

勾选HTTPS,弹出正常安装一直点ok

四、Fidder抓取手机端数据表配置

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

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

连接一个wifi,打开fiddler,点击菜单栏中的 [Tools] –> [Options]

  • 重点:记住设置完上述的值后,一定要重启Fiddler,不重启Fiddler 上述设置的值将不会生效)(另:Fiddler 很多地方设置了值都需要重启,如果发现自己的设置的东西没有生效,先重启Fiddler再看是否已经生效
  • 重启完Fiddler后,这时在 Fiddler 可以看到自己本机无线网卡的IP了。要是没有的话,重启Fiddler,或者可以在cmd中ipconfig找到自己的IP


手机和电脑要处于同一网络条件下(可以理解为:使用同一个WiFi),例如在手机端连接PC的wifi,然后去浏览器输出ip:8888


Android开始安装证书。有的手机可以直接点击已下载的文件进行安装,有的手机则不行。如果不能直接安装证书,我们可以通过以下方法来安装证书。

  • 方法一:手机——设置——搜索【证书】二字——选择:安装证书或者证书管理:点击安装证书,在你的众多文件里面去选择刚刚下载的fiddler的证书,点击安装(注:选择安装的文件后,需要输入手机的锁屏密码。Android一定要有锁屏密码才能安装证书)
  • 方法二:在浏览器里面,直接打开已经下载的文件,安装即可,安装步骤是:先输入手机锁屏密码——后到上图为证书命名界面。证书安装好后,查看已信任证书:具体位置在【安全——更多安全设置——加密和凭据——受信任的凭据】

安装完证书之后,开始配置网络。长按自己的wifi——修改

配置完以后,可以用手机访问应用,就可以看到截取到的数据包了

五、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压缩包,保存到“我的文档\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 放行所有中断下来的请求
举例

>

<

=

@

select

cls

dump


断点命令:

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

bpafter

bps

bpv

g / go


爬虫从入门到精通(16) |最详细的的Fiddler抓包软件介绍相关推荐

  1. python读取fiddler_大数据采集之python的docker爬虫技术-fiddler抓包软件详细配置(7)...

    本篇文章探讨了大数据采集之python的docker爬虫技术-fiddler抓包软件详细配置(7),希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入. 挑选常用的功能给各位老铁介绍下 ...

  2. python抓包工具_「docker实战篇」python的docker爬虫技术-fiddler抓包软件详细配置(七)...

    挑选常用的功能给各位老铁介绍下. fiddler第一次进入fiddlerfiddler会请求fiddler的官网,检查更新操作布局分布 工具栏File -capture traffic开启爬虫File ...

  3. python爬虫抓包工具_「docker实战篇」python的docker爬虫技术-fiddler抓包软件详细配置(七)...

    挑选常用的功能给各位老铁介绍下. fiddler 第一次进入fiddler fiddler会请求fiddler的官网,检查更新操作 布局分布 工具栏 File -capture traffic 开启爬 ...

  4. python抓包程序_「docker实战篇」python的docker爬虫技术-fiddler抓包软件详细配置(七)...

    fiddler 第一次进入fiddler fiddler会请求fiddler的官网,检查更新操作 布局分布 工具栏 File -capture traffic 开启爬虫 File -new Viewe ...

  5. Spring Boot从入门到精通(超详细)

    Spring Boot从入门到精通(超详细) _kayden_ 2020-07-20 15:19:22 9491 正在上传-重新上传取消​ 收藏 184 分类专栏: springboot 文章标签:  ...

  6. Python爬虫从入门到精通——解析库pyquery的使用

    分类目录:<Python爬虫从入门到精通>总目录 解析库使用篇: 解析库re的使用:正则表达式 解析库XPath的使用 解析库Beautiful Soup的使用 解析库pyquery的使用 ...

  7. python爬虫从入门到精通-Python爬虫从入门到精通视频(2018新版)

    原标题:Python爬虫从入门到精通视频(2018新版) Python在软件质量控制.提升开发效率.可移植性.组件集成.丰富库支持等各个方面均处于先进地位,并且随着人工智能的兴起,Python发展得越 ...

  8. Python爬虫从入门到精通——爬虫实战:爬取今日头条图片新闻

    分类目录:<Python爬虫从入门到精通>总目录 本文为实战篇,需提前学习Python爬虫从入门到精通中<基本库requests的使用>和<Ajax数据爬取(一):基本原 ...

  9. 全网最详细的Python+Requests接口测试教程:Fiddler抓包工具

    本篇涵盖内容:fiddler.http协议.json.requests+unittest+报告.bs4.数据相关(mysql/oracle/logging)等内容. 文章是针对零基础入门接口测试和py ...

最新文章

  1. selenium中webdriver识别class属性多个值中有空格的解决方案
  2. 合理规划您的硬盘分区
  3. 一个Linux下C线程池的实现
  4. hdu 3746 Cyclic Nacklace
  5. 【图文并茂】RNN、LSTM、GRU、ConvLSTM、ConvGRU、ST-LSTM的总结
  6. b/s结构中ajax技术浅析,B/S架构WEB程序中AJAX异步传输技术的应用研究
  7. cpu风扇转速慢_cpu风扇简介有哪些?cpu风扇选购技巧介绍_
  8. 微软使用 Fluent Design 对应用图标进行统一调整,并更新 Windows 10 Logo
  9. 卷积神经网络流程图_卷积神经网络
  10. DTO,VO,POJO,JavaBeans之间的区别?
  11. 同济大学计算机保研名单,同济大学2021届保研率27.8%,主要保研本校、复交清国...
  12. U8记账凭证修改方法汇总
  13. 09、Non-Black-Box ZK(Barak‘s protocol)--Alon Rosen
  14. 基于Spire.PDF将HTML转换为PDF
  15. 拓扑排序(topo_sort)
  16. 生信文献 | TIMER2.0用于分析肿瘤免疫细胞浸润
  17. 榆熙电商:在拼多多开网店如何计算产品价格弹性区间?
  18. linux设置NLS_LANG
  19. 【Linux】Ubuntu 18.04桌面美化
  20. 购买部署阿里免费ssl证书的步骤

热门文章

  1. [硕士毕业论文]word交叉引用
  2. 使用URLEncoder、URLDecoder进行URL参数的转码与解码
  3. CIFAR彩色图像分类数据集
  4. 如何删除Chrome地址栏记录?
  5. 《我编程,我快乐》 摘抄
  6. codeforce#420 E. Okabe and El Psy Kongroo(图论+矩阵快速幂)
  7. 基于漏磁的电机霍尔调试
  8. html静态页面作业——酷酷动物主题响应式网页(5页) 大学生动物主题网页作品 动物网页设计作业模板 学生网页制作源代码下载
  9. MySQL MEB常见用法
  10. Learning to Generalize Unseen Domains via Memory-based Multi-Source Meta-Learning for Person Re-ID