为什么要学Fidder抓包?

学习接口,必须要学http协议,不要求您对协议的掌握有多深。只是希望你能够了解什么是协议、协议的报文、状态码等等!本文通过抓包工具Fidder带你进入接口的大门。我们通过抓取的请求来学习http协议。

一.抓取web端https协议

fiddler是一个很好的抓包工具,至于安装,傻瓜式安装就好,这里不再累述。Fidder默认是抓http请求的,对于pc上的https请求,会提示网页不安全,这时候需要在浏览器上安装证书。

1.1 网页不安全

  用Fidder对Firefox抓包的时候,打开百度首页:https://www.baidu.com,会提示网页不安全

1.2 Fidder设置

  打开菜单栏:Tools>Fiddler Options>HTTPS,勾选Decrypt HTTPS traffic,里面的两个子菜单也一起勾选了

1.3 导出证书

点右上角Actions按钮,选第二个选项,导出到桌面,此时桌面上会多一个文件:FiddlerRoot.cer

1.4 导入到Firefox里面

  打开右上角浏览器设置》选项》高级》证书》查看证书》证书机构》导入

  将刚刚从Fidder中导出到桌面的证书导入到Firefox里面

  打开文件后,会弹出个框,勾选三个选项就完成操作啦。

  如果不能成功,只有重启浏览器,重新按照上面的步骤进行设置啦!

1.5 证书导出失败的解决办法

  在点Actions时候出现Export Failed:The root certificate could not be located.最近有很多小伙伴在fiddler导出证书的时候,遇到无法导出的问题,收集了几种解决办法,供参考。

  一.在点Actions时候出现Export Failed:The root certificate could not be located.

  二.解决方案

   1.首先确保安装的 Fiddler 是较新的版本,先关闭fiddler
   2.下载并安装Fiddler证书生成器,下载地址:http://www.telerik.com/docs/default-source/fiddler/addons/fiddlercertmaker.exe?sfvrsn=2

   3.点Tools>Fiddler Options
   4.勾选Capture HTTPS traffic
   5.点Actions按钮,Export Root Certificate Desktop按钮导出到桌面

  三、删除证书
  1.有些小伙伴可能之前装过一些fiddler证书,安装的姿势不对,导致新的证书不起作用,这时候需要先删掉之前的证书了
    方法一:从fiddler里打开证书管理界面
    方法二、从文件管理器输入:certmgr.msc并回车

  2.搜索之前安装的fiddler证书,找到之后全部删除
  3.重新下载证书生成器:http://www.telerik.com/docs/default-source/fiddler/addons/fiddlercertmaker.exe?sfvrsn=2,一路傻瓜式安装,遇到警告什么的直接忽略就行。
  4.安装好证书后,按照1.1章节Fiddler抓包1-抓firefox上https请求的浏览器导入证书就行了(弄好之后,重启电脑就OK了)

二.抓取app请求

2.1 准备相关软件环境

  电脑上已安装Fidder,手机和电脑在同一局域网(傻瓜式理解:手机和电脑连接同一个WiFi或者电脑放出热点,手机连接都可以)

2.2 Fidder设置

  fiddler>Tools>Fiddler Options>Connections 勾选Allow remote computers to connect,记住你设置的端口号,博主这里设置的为8888

2.3 查看电脑IP

  桌面—>Windows键+R—>cmd—>ipconfig(例如:ip为:192.168.1.14)

2.4 设置手机WiFi代理

  手机——>设置——>WiFi设置——>点击WiFi名后面的箭头(每个手机都不相同)——>代理——>手动——>输入ip地址和端口号——>确定

2.5 打开手机浏览数输入你的ip加端口号,访问网页,下载证书(这一步不知道坑了多少人,博主深受其害),此时博主就应该访问:192.168.1.14:8888

2.6 点击“FidderRoot certificate”,安装证书*(切记,一定要下载安装)

2.6 设置过滤

  手机上设置代理后,这时候fiddler上抓到的是pc和app所有的请求,如果pc上打开网址,会很多,这时候就需要开启过滤功能了。设置过程:打开fiddler>Tools>Fiddler
Options>HTTPS>...from remote clients only,勾选这个选项就可以了。(...from all
processes :抓所有的请求;...from browsers only :只抓浏览器的请求;...from non-browsers
only :只抓非浏览器的请求;...from remote clients only:只抓远程客户端请求)

 设置完成之后,Fidder就可以抓取手机app上的https请求了

注意:测试完了之后,记得手机上的代理由手动改成“无”,要不然会导致无法上网!

Fidder详解-抓取HTTPS清求(Web/App)抓包分析(靠谱篇)的更多相关文章

  1. Fiddler——抓取https接口配置(web,安卓,ios)

    作为一名合格的测试怎么能不会抓包呢.   抓包适用场景:   测试某个功能时,出现了bug,这时我们便需要抓包看一下这个bug到底是前端的还是服务端的: bug的精准指向,能加速bug得以解决.   ...

  2. Fiddler基本原理与抓取Andriod与IOS的App数据包

    Fiddler基本原理 Fiddler数据包的原理是Fiddler将自己设置为一个代理服务器,默认监听127.0.0.1:8888端口同时将浏览器的HTTP.HTTPS协议设置为使用代理服务器也就是使 ...

  3. Charles 如何抓取https数据包

    Charles可以正常抓取http数据包,但是如果没有经过进一步设置的话,无法正常抓取https的数据包,通常会出现乱码.举个例子,如果没有做更多设置,Charles抓取https://www.bai ...

  4. fiddler软件测试——Fiddler抓取https设置详解(图文)(摘抄)

    随笔- 8  文章- 0  评论- 0 fiddler软件测试——Fiddler抓取https设置详解(图文)   强烈推荐(原创亲测)!!!Fiddler抓取https设置详解(图文)转 本文主要说 ...

  5. Fiddler抓取https请求 & Fiddler抓包工具常用功能详解

    Fiddler抓取https请求 & Fiddler抓包工具常用功能详解   先来看一个小故事: 小T在测试APP时,打开某个页面展示异常,于是就跑到客户端开发小A那里说:“你这个页面做的有问 ...

  6. fiddler软件测试——Fiddler抓取https设置详解(图文)

    强烈推荐(原创亲测)!!!Fiddler抓取https设置详解(图文)转 本文主要说明了自己在设置fiddler抓取https过程中所遇到的问题及解决步骤,特别是fiddler在设置证书的环节遇到的各 ...

  7. 抓包工具Fidder详解(主要来抓取Android中app的请求)

    今天闲着没吊事,来写一篇关于怎么抓取Android中的app数据包?工欲行其事,必先利其器,上网google了一下,发现了一款神器:Fiddler,这个貌似是所有软件开发者必备神器呀!这款工具不仅可以 ...

  8. 强烈推荐!!!Fiddler抓取https设置详解(图文)

    很多实用fiddler抓包,对于http来说不需太多纠结,随便设置下就能用,但是抓取https就死活抓不了, 诸如以下问题: creation of the root certificate was ...

  9. Fiddler抓取https设置详解

    很多使用fiddler抓包,对于http来说不需太多纠结,随便设置下就能用,但是抓取https就死活抓不了, 出现诸如以下问题: creation of the root certificate wa ...

随机推荐

  1. Reduce实现

    Reduce实现 参考 第一版 Array.prototype.fakeReduce = function (fn, base) { // this 指向原数组 // 拷贝数据, 更改指针方向 var ...

  2. 使用 Realm 和 Swift 创建 ToDo 应用

    原文出处: HOSSAM GHAREEB   译文出处:Prayer’s blog(@EclipsePrayer) 智能手机的快速发展的同时,涌现出了很多对开发者友好的开发工具,这些工具不仅使得开发变 ...

  3. 对js 面对对象编程的一些简单的理解

    由简单开始深入: 最简单的 直接对象开始 var desen = { age:24, name:'xyf', job:'fontEnd', getName:function(){ console.lo ...

  4. spring mvc支持跨域请求

    @WebFilter(urlPatterns = "/*", filterName = "corsFilter") public class CorsFilte ...

  5. nodejs+multer+ajax文件上传

    前端 html代码 + ajax代码 form表单(无需指定action) <form enctype="multipart/form-data" method=" ...

  6. ios 微信环境 axios请求 status 0

    做了一个支付页面,调用post请求但是请求status 0,出现这个的原因居然是https的网页请求http的数据. 但是这个再ios里面不会报错,安卓正常. 记录一下客户端的这个特征!

  7. 【学习笔记】深入理解js闭包

    本文转载: 一.变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域. 变量的作用域无非就是两种:全局变量和局部变量. Javascript语言的特殊之处,就在于函数内部可以直接 ...

  8. 在Java8的foreach()中使用break、continue

    java8的lambda中,foreach()处理集合时不能使用break和continue这两个方法,可以使用return实现 参考:https://blog.csdn.net/lmy86263/a ...

  9. MongoDB最简单的入门教程之二 使用nodejs访问MongoDB

    在前一篇教程 MongoDB最简单的入门教程之一 环境搭建 里,我们已经完成了MongoDB的环境搭建. 在localhost:27017的服务器上,在数据库admin下面创建了一个名为person的 ...

  10. Apache安装和文件配置

    Apache和Tomcat的区别是:静态文件和动态页面,C++和Java的区别. 对比.