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安装证书即可

③ 点击手机中的设置 ->通用 ->关于本机 ->证书信息设置(信任)
fiddler -- 一个强大的抓包工具的更多相关文章
- 性能测试-2.Fiddler抓包工具的使用
Fiddler基础知识(此文原文地址) Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888,我们也可以通过设置进行修 ...
- 抓包工具 - Fiddler - (一)
<转载于 miantest> Fiddler基础知识 Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888 ...
- 【爬虫】网页抓包工具--Fiddler--Request和Response
[爬虫]网页抓包工具--Fiddler Fiddler基础知识 Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888, ...
- 抓包工具 - Fiddler - (二)
<转载自 miantest> 在上一篇中介绍了Fiddler的基本使用方法.通过上一篇的操作我们可以直接抓取浏览器的数据包.但在APP测试中,我们需要抓取手机APP上的数据包,应该怎么操作 ...
- 抓包工具--Fiddler及charles的使用
Fiddler和charles--是抓包工具,可以抓到pc端的请求,手机上设置代理后也可以抓到手机上的请求,也可以修改请求数据和返回的数据. 1.网页抓包,打开Fiddler或Charles应用直接访 ...
- linux抓包工具tcpdump基本使用
tcpdump 是一款灵活.功能强大的抓包工具,能有效地帮助排查网络故障问题. tcpdump 是一个命令行实用工具,允许你抓取和分析经过系统的流量数据包.它通常被用作于网络故障分析工具以及安全工具. ...
- Ubuntu 16.04下安装Charles抓包工具
Charles是一个跨平台的抓包工具,虽然没有Fiddler做的这么完美,但是也算是另一个选择. 下载: https://www.charlesproxy.com/download/ 注册: http ...
- 学习tcpIp必备的抓包工具wireshark
wireshark是一个优秀的抓包工具 ip.src=192.168.10.123 发送http的一端 ip.dst=192.168.10.126 接收http的一端 如下图所示:
- 抓包工具fiddler
具体的可以看这个链接,后来补充了些东西,cnblog复制图片太麻烦了 http://note.youdao.com/yws/public/redirect/share?id=37f8556270b44 ...
随机推荐
- JavaScript 判断当前设备是否是移动端还是PC
if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){ alert('移动端')}else { alert('PC端') }
- 关于12c安装后打补丁
根据ID:1454618.1,可在MOS上查到相关版本详细的补丁版本号. 补丁安装过程参考补丁文档,以下是大致过程. 1. 更新OPatch2. 创建OCM应答文件(每个节点)$ORACLE_HOME ...
- matlab——之class类(详细总结)
https://blog.csdn.net/qinze5857/article/details/80545885 开篇:搜了一下网上介绍matlab的class类,信息不全,且总结不全面,于是单独he ...
- git备注
下拉仓库 git clone ""建立本地分支 git checkout -b "分支名字" 修改代码以后切换到主分支 git checkout master更 ...
- POJ 1390 Blocks(区间DP)
Blocks [题目链接]Blocks [题目类型]区间DP &题意: 给定n个不同颜色的盒子,连续的相同颜色的k个盒子可以拿走,权值为k*k,求把所有盒子拿完的最大权值 &题解: 这 ...
- org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.shen.mapper.UserMapper.findById
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.shen.mapper.Use ...
- redis maxheap 51200000
Redis无法启动 今天在启动Redis时提示以下错: C:\Java\redis2817>redis-server.exe redis.windows.conf [5268] 23 Apr 1 ...
- PHP 以最快的方式判断字符串是否以某给定字符串开始
好久没搞代码了,最近找工作,重操旧业,在整理以前写的框架的时候发现,之前的自动加载部分执行速度上还是有可优化空间的,就是如果类名是以 risen\ 开始的(我的框架中的类都在此命名空间下),那么可直接 ...
- redis 无序集合(set)函数
sAdd 命令/方法/函数 Adds a value to the set value stored at key. If this value is already in the set, FALS ...
- ES6 Promise用法讲解
所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果. ES6 规定,Promise对象是一个构造函数,用来生成Promise实例. 下面代码创造了一个 ...