zoukankan      html  css  js  c++  java
  • Fidder详解之抓包

    前言

    本文是博主发表的第一篇文章,如有傻逼之处,请大家见谅。最近遇到很多人说接口相关的问题,比如:什么是接口,我该怎么做接口测试,还有我总是抓不到APP上的https请求(这个巨坑,不知道坑了多少小白,包括博主自己也被坑的不敢自拔!!!!),言归正传,后续,博主会慢慢整理有关接口相关系列的文章,以及自己的见解,希望大家多多支持和指正!

    为什么要学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)

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

    *我们下一篇博客《Fidder详解之get和post请求》会向大家讲述Fidder眼中的get和post请求,以及Fidder工具简要说明

  • 相关阅读:
    DS4700磁盘阵列的控制器微码升级操作记录(收录百度文库)
    Android 解决布局无法对齐的情况
    android 模仿大众点评团购卷列表多余3条时折叠,点击时显示剩余全部的功能
    android 解决ScrollView中的子布局不能够填充整个ScrollView的情况。
    Android在代码中设置控件的drawableLeft,drawableRight,drawableTop,drawableBottom。
    android RadioGroup中设置selector后出现多个别选中的RadioButton的解决办法
    Android 动态的给Button、TextView、ImageView等控件设置了background后,再设置padding属性时该属性不起作用
    Android Universal Image Loader java.io.FileNotFoundException: http:/xxx/lxx/xxxx.jpg
    Android2.3系统 自定义的PopupWindow在实例化时报空指针异常
    android精品开源项目整理
  • 原文地址:https://www.cnblogs.com/langhuagungun/p/7732996.html
Copyright © 2011-2022 走看看