HTTP接口抓包工具之Fiddler
Fiddler的基本功能介绍:
Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据,Fiddler包含了一个强大的基于时间脚本的子系统,并且能使用.NET语言进行扩展。对HTTP协议越了解,就能越掌握Fiddler的使用方法。越使用Fiddler,就越能帮助了解HTTP协议。Fiddler无论对开发人员或者测试人员来说,都是非常有用的工具。
Fiddler的工作原理:Fiddler是以代理web服务器的形式工作的,它使用代理本地地址:127.0.0.1,端口xxxx,如下图所示。
能支持HTTP代理的任意程序的数据包都能被Fiddler嗅探到,Fiddler的运行机制就是本机上监听Fiddler中设置的端口的HTTP代理。
1 android手机和fiddler连接:
下载地址:Fiddler.exe,http://www.telerik.com/download/fiddler
做开发需要抓取手机app的http/https的数据包,想看APP发出的http请求和响应是什么,这就需要抓包了,这可以得到一些不为人知的api,比如还可以干些“坏事”,比如那年微信发红包看照片,就通过接口抓包成功破解,不用发红包即可看照片。
需要工具:Fiddler抓包软件,下面介绍使用步骤
PC上安装Fiddler
安装文件路径:https://pan.baidu.com/s/1o7USimA
Fiddler配置 (配置完后记得要重启Fiddler)
一、如何使用 Fiddler2
下载完成后安装,安装过程就不贴图了。
1 选择下载正确的fiddler版本,启动;帮助中-About 查看版本号
▲图7-2
2 fiddler选项
▲图7-3
3 常规中,勾选允许远程计算机连接
▲图7-4
4 点击连接,勾选代理选项,端口号8888,点击OK,在这里代理就设置完成,一定要重启软件配置才生效
▲图7-5
5运行cmd 查看电脑的ip地址
▲图7-6
6 Android 手机一台,手机端代理设置,以华为手机为例子
1、如下图华为手机设置:
找到你的Wifi,必须电脑和手机处于同一个Wifi下。最好是电脑发一个Wifi出来。
打开android手机,设置-WLAN-连接的wifi
长按wifi热点,选择修改网络,下拉 勾选显示高级选项
代理设置为:手动;代理主机名为你的电脑Ip,端口就是刚才Fiddler设置的端口8888,点击保存按钮
▲图7-7
7.重启fiddler,以及启动手机app应用程序,即可在fiddler界面看到手机请求数据和响应数据,左侧是主机 URL;右侧嗅探是Headers查看头信息,WebForms查看参数名和值,TextView查看接口响应数据等
▲图7-8
8如果只看相应app的数据,可在fiddler设置勾选过滤器,使用过滤器,仅仅显示以下主机
▲图7-9
为能捕获HTTPS会话,如未安装证书,访问网站会提示”您的连接不是私密链接“,可点击高级选择继续访问,访问时会提示访问的网站是不安全的,提示证书无效,Fiddler也抓捕不到https请求。
需要安装证书,在浏览器中输入本地ip:Fiddler中设置的端口号(127.0.0.1:8080),点击图中框图部分下载证书点击安装。
安装时会出现以下界面。
-------------------------------------------------------------------------
2 IOS手机和fiddler连接
Fiddler不但能截获各种浏览器发出的HTTP请求, 也可以截获各种智能手机发出的HTTP/HTTPS请求。Fiddler能捕获IOS设备发出的请求,比如IPhone, IPad, MacBook. 等等苹果的设备。 同理,也可以截获Andriod,Windows Phone的等设备发出的HTTP/HTTPS。
最关键的是,对IOS应用抓包时直接在Windows PC上进行,不需要非得在MAC上。下
iphone手机配置
(1) 网络代理设置
安装Fiddler的机器,跟Iphone 必须在同一个网络里, 否则IPhone不能把HTTP发送到Fiddler的机器上来。一般情况,我们手头上是台式机和手机,台式机只有网线,没有无线wifi,所以和手机不在同一个网络,这时,我们就需要设置代理了
打开IPhone, 找到你的网络连接, 打开HTTP代理,输入Fiddler所在机器的IP地址以及Fiddler的端口号8888
▲图7-10
(2) Fiddler证书安装
这一步是为了让Fiddler能捕获HTTPS请求。如果你只需要截获HTTP请求, 可以忽略这一步
1. 首先要知道Fiddler所在的机器的IP地址:我安装了Fiddler的机器的IP地址是:172.29.58.79
2. 打开IPhone的Safari, 访问 http://172.29.58.79:8888, 点"FiddlerRoot certificate" 然后安装证书
▲图7-11
现在大功告成,可以抓包了。IPhone上的应用App发出的HTTP/HTTPS都可以被Fiddler获取,打开手机上的app,看看fiddler能否捕获。
fiddler网络限速:
fiddler还为我们提供了一个很方便的网络限速的功能,通过网络限速,可以来模拟用户的一些真实环境。fiddler提供了网络限速的插件,具体不详细介绍了。官网下载地址:http://www.telerik.com/fiddler/add-ons
注意事项
用完了之后要退出fiddler以及把IPhone上的Fiddler代理关闭, 以免IPhone或电脑不了网。
如果只能捕获HTTP,而不能捕获HTTPS,原因可能是证书没有安装好。解决办法可以尝试重新安装fiddler证书:先删除IPhone上的Fiddler证书 (”设置“->“通用”->"描述文件")后再重新安装。
HTTP接口抓包工具之Fiddler的更多相关文章
- 【接口工具】接口抓包工具之Fiddler
一.Fiddler的基本功能介绍 Fiddler的官方网站: https://www.telerik.com/purchase/fiddler Fiddler是最强大最好用的Web调试工具之一,它能记 ...
- 【接口工具】接口抓包工具之Charles
上篇我们讲了Fiddler,Fiddler是用C#开发的,所以Fiddler不能在Mac系统中运行,没办法直接用Fiddler来截获MAC系统中的HTTP/HTTPS, Mac 用户怎么办呢? 1.F ...
- 抓包工具之fiddler实战1-基本设置
Fiddler概述 百度搜索fiddler能找到官网网站,百度软件中心也提供了下载,本人去下载了基本和官网的版本一致,但还是建议大家下载软件一定去官网进行下载. Fiddler是干什么的 在百度百科里 ...
- 抓包工具之fiddler
fiddler手机抓包的原理与抓pc上的web数据一样,都是把fiddler当作代理,网络请求走fiddler,fiddler从中拦截数据,由于fiddler充当中间人的角色,所以可以解密https ...
- 【抓包工具之Fiddler】导出jmeter脚本
一.下载完成后,解压压缩包,将插件中的2个文件放入到Fiddler安装目录中 插件目录 二.打开fiddler,设置测试时过滤的条件(抓包可以指定域名的请求) 设置过滤条件 三.这里我 ...
- 抓包工具之fiddler实战3-接口测试
Fiddler实现接口测试 Fiddler提供了进行接口测试的功能,找到composer界面,选择接口方法,填写接口URL地址,发送请求. 例子:全国天气预报的接口 http://v.juhe.cn/ ...
- 抓包工具之fiddler实战2-设置断点
Fiddler作为抓工具包,功能强大,作为代理服务器,可以对抓获到的请求或响应进行修改,然后模拟客户端发送新的请求或模拟服务器返回修改后的响应结果. Fiddler中设置断点修改Request Fid ...
- 【抓包工具之Fiddler】增加IP列;session高亮
Fiddler 在处理每个session时,脚本文件CustomRules.js中的方法都会运行,该脚本使得你可以隐藏,标识或任意修改负责的session.规则脚本在运行状态下就可以修改并重新编译,不 ...
- 【抓包工具之Fiddler】中session的请求/响应类型与图标对照表
随机推荐
- java生成图形验证码
效果图 import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.Buf ...
- 163邮箱报错: 535 Error: authentication failed
今天更换新的异常信息发件邮箱,重新申请了一个新邮箱,SMTP功能已经开通,调用java代码报异常,错误信息为:535 Error: authentication failed.经过网上查证,原来新的1 ...
- Java零基础学习详解
01DButils工具类的介绍个三个核心类 * A: DButils工具类的介绍个三个核心类 * a: 概述 * DBUtils是java编程中的数据库操作实用工具,小巧简单实用. * DBUtils ...
- 如何写JS库,JS库写法
前言: 现在javascript库特别多,其写法各式各样,总结几种我们经常见到的,作为自己知识的积累.而目前版本的 JavaScript 并未提供一种原生的.语言级别的模块化组织模式,而是将模块化的方 ...
- The website is API(3)
网络爬虫实战知识准备: Requests库.robots(网络爬虫排除标准).BeautifulSoup库 一.Re正则表达式 1. 简洁地表达一组字符串 通用的字符串表达框架 字符串匹配 编译: 2 ...
- 十四、linux-MySQL的数据库集群读写分离及高可用性、备份等
一.数据库集群及高可用性 二.mysql实现读写分离 mysql实现读写分离有多种方式: 1)代码语言(php\python\java等)层面实现读写分离,找开发进行实现. 2)通过软件工具实现读写分 ...
- 博客框架 Hexo: 3.9.0 及主题 NexT 6.x.x 基本操作
文章大纲 1. 不同代码仓库部署 coding 部署方式 项目名称 配置 SSH 公钥访问 git 仓库 github 码云 2. 手动cdn,智能解析 3. 添加评论系统 4. 博客置顶 5. 页脚 ...
- python之time模块和hashlib模块
一.time模块 import time print(time.strftime('%Y-%m-%d %H:%M:%S'))#获取当前的格式化时间,time.strftime(format) prin ...
- 让Spring不再难懂-ioc篇
写过java的都知道:所有的对象都必须创建:或者说:使用对象之前必须先创建.而使用ioc之后,你就可以不再手动创建对象,而是从ioc容器中直接获取对象. 就好像我们无需考虑对象的销毁回收一样,因为ja ...
- LeetCode No.76,77,78
No.76 MinWindow 最小覆盖子串 题目 给你一个字符串 S.一个字符串 T,请在字符串 S 里面找出:包含 T 所有字母的最小子串. 示例 输入: S = "ADOBECODEB ...