[转]fiddler 抓包 HTTPS 请求
教程开始
安装 fiddler
首先准备一台可以上网的 windos 电脑,准备一部智能手机。
fiddler 抓包工具:下载地址( 自行百度一搜一大片)。安装,打开如果遇到. net framework 错误,下载一个高本版的. net 即可。好了教程已经完成了一大半。
打开 fiddler 随便打开下浏览器。发现已经可以抓包,但想要抓手机 https 还需要做一些设置。
配置 fiddler
- 打开 fiddler 配置 Tools –> Fiddler Options.
- 打开 HTTPS 配置项,勾选 “CaptureHTTPS CONNECTs”,同时勾选 “Decrypt HTTPS traffic”,弹出的对话框选择是(这里是按照 fiddler 自己的证书)如果跟我一样手机跟电脑是用 wifi 进行链接的话还需要选择 “…fromremote clients only”。如果需要监听不可信的证书的 HTTPS 请求的话,需要勾选 “Ignore servercertificate errors”。
- 打开 Conections 配置项, 这里可以修改 Fiddler 代理端口号。勾选 “Allow remote computersto connect。提示需要重启 fiddler。
- 哈哈,高端的来了,需要写点代码。这里是为了可以抓客户端使用 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 请求的更多相关文章
- 【转】fiddler抓包HTTPS请求
本文转自:http://blog.csdn.net/idlear/article/details/50999490 fiddler抓包HTTPS请求 跟着教程来,保证100%成功抓HTTPS包 教程开 ...
- fiddler抓包HTTPS请求
fiddler抓包HTTPS请求 标签: fiddlerhttps抓包 2016-03-29 21:24 23293人阅读 评论(2) 收藏 举报 分类: 不登高山不知天之高也(1) 版权声明:本 ...
- 【Fiddler学习】Fiddler抓包HTTPS请求和手机抓包
一.安装Fiddler 百度搜索:Fiddler抓包工具,然后安装即可. 然后打开Fiddler工具,打开浏览器随意输入任何网址,就可以在Fiddler看到抓包信息. 但是:默认情况下,Fiddler ...
- Fiddler抓取https请求 & Fiddler抓包工具常用功能详解
Fiddler抓取https请求 & Fiddler抓包工具常用功能详解 先来看一个小故事: 小T在测试APP时,打开某个页面展示异常,于是就跑到客户端开发小A那里说:“你这个页面做的有问 ...
- fiddler抓取https请求(android/ios)
本文转载自:http://blog.csdn.net/songer_xing/article/details/53841401 备注:本人有这样的一个需求,先记录下,以后再进行整理. 在抓包过程中发现 ...
- 如何使用fiddler抓取https请求(PC和移动端)
最近做一个抓取移动端app接口,并执行评论,收藏的接口功能测试.怎么搞/(ㄒoㄒ)/~~ 按照老思路试一试,第一步还是要用fiddler来帮忙获取接口信息! 一.基本的抓取http请求设置: 1.cm ...
- fiddler抓取https请求
Fiddler抓取https设置详解(图文):https://www.cnblogs.com/joshua317/p/8670923.html Fiddler要抓取到https请求我们还需要Fiddl ...
- Fiddler抓包6-get请求(url详解)
前言 上一篇介绍了Composer的功能,可以模拟get和post请求,get请求有些是不带参数的,这种比较容易,直接放到url地址栏就行.有些get请求会带有参数,本篇详细介绍url地址格式. 一. ...
- Fiddler抓包6-get请求(url详解)【转载】
本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/fiddler/ 前言 上一篇介绍了Composer的功能,可以模拟get和post请求 ...
随机推荐
- 第六章 MVC之 FileResult和JS请求二进制流文件
一.FileResult 1.简介 表示一个用于将二进制文件内容发送到响应的基类.它有三个子类: FileContentResultFilePathResultFileStreamResult 推荐阅 ...
- 【51nod1847】 奇怪的数学题
就当我是 A 了此题吧... 首先预备知识有点多(因为题目要处理的东西都挺毒瘤): 杜教筛运用(当然你可以用其他筛?) 第二类斯特林数相关定理 下降阶乘幂相关定理 min25 筛运用 好了可以关掉本题 ...
- 028_shell脚本递归求值
一. #!/bin/sh factorial() { if [ "$1" -gt "1" ]; then i=`expr $1 - 1` j=`factoria ...
- 【原创】大叔经验分享(35)lzo格式支持
建表语句 CREATE EXTERNAL TABLE `my_lzo_table`(`something` string)ROW FORMAT DELIMITED FIELDS TERMINATED ...
- 连接mysql(建表和删表)
from sqlalchemy.ext.declarative import declarative_base##拿到父类from sqlalchemy import Column##拿到字段from ...
- JS调用摄像头并上传图片到服务器
本功能只能把图片转成base64码上传,如何上传图片还没有修改出来,有兴趣的朋友弄出来了,请给我留下言,谢谢了! 直接上代码,需要的朋友直接复制就可以使用了. <!DOCTYPE html> ...
- es6 super关键字
rhttp://es6.ruanyifeng.com/#docs/class-extends super关键字,既可以当作函数使用,也可以当作对象使用.这俩种的使用是不一样的 第一种:函数使用 代表父 ...
- js-DOM事件
var EventUtil = { addHandler:function(elm,type,handler){//添加事件 if(elm.addEventListener){ elm.addEven ...
- 处理:“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 ...
- Node.js 调存储过程
var spring = require("spring"); //当前登录人ID var account_id = require('nodejava').toJs.parse( ...