教程开始

安装 fiddler

首先准备一台可以上网的 windos 电脑,准备一部智能手机。 
fiddler 抓包工具:下载地址( 自行百度一搜一大片)。安装,打开如果遇到. net framework 错误,下载一个高本版的. net 即可。好了教程已经完成了一大半。 
打开 fiddler 随便打开下浏览器。发现已经可以抓包,但想要抓手机 https 还需要做一些设置。 

配置 fiddler

  1. 打开 fiddler 配置 Tools –> Fiddler Options. 
  2. 打开 HTTPS 配置项,勾选 “CaptureHTTPS CONNECTs”,同时勾选 “Decrypt HTTPS traffic”,弹出的对话框选择是(这里是按照 fiddler 自己的证书)如果跟我一样手机跟电脑是用 wifi 进行链接的话还需要选择 “…fromremote clients only”。如果需要监听不可信的证书的 HTTPS 请求的话,需要勾选 “Ignore servercertificate errors”。 
  3. 打开 Conections 配置项, 这里可以修改 Fiddler 代理端口号。勾选 “Allow remote computersto connect。提示需要重启 fiddler。 
  4. 哈哈,高端的来了,需要写点代码。这里是为了可以抓客户端使用 httpURLConnection 的包。 
    Ruler –>CustomizeRules 
    在函数 OnBeforeResponse 里面添加下面代码:
if (oSession.oRequest["User-Agent"].indexOf("Android") > -1 && oSession.HTTPMethodIs("CONNECT")) {
oSession.oResponse.headers["Connection"] = "Keep-Alive";
}
  • 1
  • 2
  • 3

添加后代码为:

static function OnBeforeResponse(oSession: Session) {
if (m_Hide304s && oSession.responseCode == 304) {
oSession["ui-hide"] = "true";
}
if (oSession.oRequest["User-Agent"].indexOf("Android") > -1 && oSession.HTTPMethodIs("CONNECT")) {
oSession.oResponse.headers["Connection"] = "Keep-Alive";
}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

不要忘记重启 fiddler!!!

配置手机

保证手机跟 pc 是在同一个网段下。 
配置手机连接的 wifi,可能每个手机打开 wifi 配置的方式都不太一样,仔细研究下,选择已经连接的网络,打开修改网络窗口。显示高级属性,配置网络代理–> 手动 代理服务器主机名:填写 pc 机的 IP 地址即可例如:192.168.0.4,代理服务器端口号:fiddler 的代理端口号,如果没有修改就是 8888。 
关键步骤哈: 
下载安装 fiddler 的证书 
 
在手机浏览器打开 代理服务器:端口号 例如上面填写的就是 192.168.0.4:8888,点击页面中的 “FiddlerRootcertificate” 链接,在弹出的对话框中随便设置一个名称确定即可。

抓包截图

测试机上没装多少软件,打开百度钱包来试试 

好了。大功告成!

让我们想想

通过 fiddler 可以抓包,是不是说 https 就是不安全的了呢,毕竟所有的请求对我们来说都是透明的呢。其实刚才的过程很重要的一点就是我们下载并且安装了 fiddler 的根证书,对于 pc 端来说就是配置 fiddler https 选项时弹出的对话框,对于手机来说就是我们去 pcip 地址: fiddler 代理端口这个地址下载证书的过程。 
而对 https 的安全来说,https 安全的前提就是可信的根证书!!!! 
而,之前的操作无疑是在我们系统里面安装了不可信的根证书。使得 fiddler 对我们的通信造成了中间人攻击!。 
简单的说就是我们与服务器进行通信,会先获取服务器的证书,进行校验校验过程是用本地的可信根证书进行校验,而装入 fiddler 的根证书后,fiddler 可以伪造证书,获取我们与服务器通信的秘钥,进行破解我们的通信。所以对我们我们系统来说安装证书是一个多么危险的操作! 
哐哐哐!!查水表!!!

[转]fiddler 抓包 HTTPS 请求的更多相关文章

  1. 【转】fiddler抓包HTTPS请求

    本文转自:http://blog.csdn.net/idlear/article/details/50999490 fiddler抓包HTTPS请求 跟着教程来,保证100%成功抓HTTPS包 教程开 ...

  2. fiddler抓包HTTPS请求

    fiddler抓包HTTPS请求 标签: fiddlerhttps抓包 2016-03-29 21:24 23293人阅读 评论(2) 收藏 举报  分类: 不登高山不知天之高也(1)  版权声明:本 ...

  3. 【Fiddler学习】Fiddler抓包HTTPS请求和手机抓包

    一.安装Fiddler 百度搜索:Fiddler抓包工具,然后安装即可. 然后打开Fiddler工具,打开浏览器随意输入任何网址,就可以在Fiddler看到抓包信息. 但是:默认情况下,Fiddler ...

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

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

  5. fiddler抓取https请求(android/ios)

    本文转载自:http://blog.csdn.net/songer_xing/article/details/53841401 备注:本人有这样的一个需求,先记录下,以后再进行整理. 在抓包过程中发现 ...

  6. 如何使用fiddler抓取https请求(PC和移动端)

    最近做一个抓取移动端app接口,并执行评论,收藏的接口功能测试.怎么搞/(ㄒoㄒ)/~~ 按照老思路试一试,第一步还是要用fiddler来帮忙获取接口信息! 一.基本的抓取http请求设置: 1.cm ...

  7. fiddler抓取https请求

    Fiddler抓取https设置详解(图文):https://www.cnblogs.com/joshua317/p/8670923.html Fiddler要抓取到https请求我们还需要Fiddl ...

  8. Fiddler抓包6-get请求(url详解)

    前言 上一篇介绍了Composer的功能,可以模拟get和post请求,get请求有些是不带参数的,这种比较容易,直接放到url地址栏就行.有些get请求会带有参数,本篇详细介绍url地址格式. 一. ...

  9. Fiddler抓包6-get请求(url详解)【转载】

    本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/fiddler/ 前言 上一篇介绍了Composer的功能,可以模拟get和post请求 ...

随机推荐

  1. 第六章 MVC之 FileResult和JS请求二进制流文件

    一.FileResult 1.简介 表示一个用于将二进制文件内容发送到响应的基类.它有三个子类: FileContentResultFilePathResultFileStreamResult 推荐阅 ...

  2. 【51nod1847】 奇怪的数学题

    就当我是 A 了此题吧... 首先预备知识有点多(因为题目要处理的东西都挺毒瘤): 杜教筛运用(当然你可以用其他筛?) 第二类斯特林数相关定理 下降阶乘幂相关定理 min25 筛运用 好了可以关掉本题 ...

  3. 028_shell脚本递归求值

    一. #!/bin/sh factorial() { if [ "$1" -gt "1" ]; then i=`expr $1 - 1` j=`factoria ...

  4. 【原创】大叔经验分享(35)lzo格式支持

    建表语句 CREATE EXTERNAL TABLE `my_lzo_table`(`something` string)ROW FORMAT DELIMITED FIELDS TERMINATED ...

  5. 连接mysql(建表和删表)

    from sqlalchemy.ext.declarative import declarative_base##拿到父类from sqlalchemy import Column##拿到字段from ...

  6. JS调用摄像头并上传图片到服务器

    本功能只能把图片转成base64码上传,如何上传图片还没有修改出来,有兴趣的朋友弄出来了,请给我留下言,谢谢了! 直接上代码,需要的朋友直接复制就可以使用了. <!DOCTYPE html> ...

  7. es6 super关键字

    rhttp://es6.ruanyifeng.com/#docs/class-extends super关键字,既可以当作函数使用,也可以当作对象使用.这俩种的使用是不一样的 第一种:函数使用 代表父 ...

  8. js-DOM事件

    var EventUtil = { addHandler:function(elm,type,handler){//添加事件 if(elm.addEventListener){ elm.addEven ...

  9. 处理:“ORA-28002: the password will expire within 7 days”的问题

    一:问题描述: 二:处理步骤 [oracle@localhost 2018_07_14]$ rlwrap sqlplus / as sysdba; SQL*Plus: Release 11.2.0.3 ...

  10. Node.js 调存储过程

    var spring = require("spring"); //当前登录人ID var account_id = require('nodejava').toJs.parse( ...