fiddler,他和其他抓包软件有什么区别,如何使用fiddler进行抓包


前言:本文章是搭配《批量获取微信公众号》一文,介于群里朋友很热情,我就趁着上班测完bug 来撰写该文章,那么读完本文,你会学习到什么呢?

  1. 什么是fiddler,他和其他抓包软件有什么区别,如何使用fiddler进行抓包
  2. 如何利用fiddler抓取https 的流量,如何安装证书
  3. 实战:利用fiddler配合按键精灵批量刷微信公众号的文章页(经测试语音也可以)

好的,小葵花妈妈咳咳 我们开课了。。。

0x01 初识fiddler

我不了解看我文章的读者是什么水平,反正我记得当年黑客X档案08还是09有一个上传漏洞 用到的就是抓包改包然后菜刀提交。。。当时惊呆了小伙伴,那么当时的抓包工具是什么呢,

Wireshark

qq%e6%88%aa%e5%9b%be20160913193525

 

对就是这货,比较强大,按照网络七层协议这个抓包能抓到数据链路层、网络层(network layer)、传输层或应用层(application layer)

比几年前见到的好用多了 还可以自带抓取电话啊 无线啊 想想就他喵的激动

qq%e6%88%aa%e5%9b%be20160913193935

既然这个屌玩儿这么强大我们为啥还用fiddler,额 就是因为太强大 所以会让我们看到一些很杂乱的东西 比如SYN三次握手什么的,UDP流量啊 QQ消息啊。。。。额就当我没说吧

那这个fiddler能干嘛 很简单 他的protocol 就能让他搞http协议 当然包含https什么的 我们这些弄爬虫的 通信的 和网页打交道 就这个就行了,没必要泡方便面还要法式厨房。

qq%e6%88%aa%e5%9b%be20160913194442

这个时候这个屌玩儿就可以http报文了

他如何实现的呢 他是修改你IE本地浏览器设置,

qq%e6%88%aa%e5%9b%be20160913195020

让所有本地HTTP流量经过他的代理相当于自己搭建了一台代理服务器,但是如果想要做https代理 那么我们还需要做一点小小的设置。

0x02 小小的设置

没错 正如你看到的很多fiddler教程一样,我也要开始教你怎么样设置了

也许你没有很多关于MITM的知识,不好意思 关我屁事 没学过还他喵的嘚瑟不去Google!!!!!!

啥?你说要给钱==好嘞,大爷我这就给您讲,记得好评哦

要抓取走 HTTPS 的 js 内容,Fiddler 必须解密 HTTPS 流量。但是,浏览器将会检查数字证书,并发现会话遭到窃听。为了骗过浏览器,Fiddler 通过使用另一个数字证书重新加密 HTTPS 流量。Fiddler 被配置为解密 HTTPS 流量后,会自动生成一个名为 DO_NOT_TRUST_FiddlerRoot 的 CA 证书,并使用该 CA 颁发每个域名的 TLS 证书。若 DO_NOT_TRUST_FiddlerRoot 证书被列入浏览器或其他软件的信任 CA 名单内,则浏览器或其他软件就会认为 HTTPS 会话是可信任的、而不会再弹出“证书错误”警告。

好吧我承认我很懒上面一段是抄别人的,不过我先声明 在MITM环境下没有任何情况是安全的。(这不是量子通信还没实现不是喵)

你懂这个原理以后我们开始操刀设置fiddler

首先,打开 Fiddler,在菜单栏中依次选择 【Tools】->【Fiddler Options】->【HTTPS】,勾上如下图的选项。

1473776558-3722-20151124210753687-177921438

勾上后,Fiddler 会提示你安装一个证书。安装完后点击上图中的 “Export Root..” 按钮,将证书下载到桌面。

又是抄别人的教程是吧,我的咋没有 export root certificate to desktop 对 我也是这样想的,为啥你们高级啊 我的从官网上最新版本都没有,我想说的是别急,听我慢慢道来。

如果这个时候我们不管他 本地是绝对不会安装证书的,到时候就会抱一个傻逼错误叫做

Fiddler “creation of the root certificate was not successful”

这个需要我们手动安装

如何安装呢

简单,在fiddler目录下有一个makecert.exe

你在这个建一个bat脚本 输入以下命令就好,返回成功就不要运行第二次了,运行第二次他妈的后面又有问题,你要删除多余证书,真他妈傻逼。

makecert.exe -r -ss my -n “CN=DO_NOT_TRUST_FiddlerRoot, O=DO_NOT_TRUST, OU=Created by http://www.fiddler2.com” -sky signature -eku 1.3.6.1.5.5.7.3.1 -h 1 -cy authority -a sha1 -m 120 -b 09/05/2012

如果我们要监听手机app

怎么办 简单,我笔记本开一个热点,然后手机连接上热点,那么笔记本就和手机同处一个局域网,然后让手机访问你的电脑局域网IP

怎么看呢 ipconfig 谢谢

比如查到的ip为192.168.xx.38

那么你手机浏览器访问的就是192.168.xx.38:8888

1473776559-4957-201502

(如果你的手机安卓没有设置手势密码什么的是不行的)

然后安装一个证书就可以愉快的被窃听https流量了

0x03 实战微信公众号的爬取

让我们用按键精灵打开微信公众号

我们可以看到成功抓取我们想要的数据qq%e6%88%aa%e5%9b%be20160913220954

但是这时候我们会考虑如果我想把这些请求生成一个txt多好,我的Python或者Java直接读取其中的key 那不是美了美了醉了醉了的感觉么,我也是这么想的,怎么做呢,简单

看到菜单了么 选择rules 那个 customs rules那个选项,如果先让你安装一个你就先安装 然后重启一下进入到如图所示的界面

qq%e6%88%aa%e5%9b%be20160913221208

保存Request

(代码已经修正空格,可以复制了,如果你发现有任何错误请及时与我联系 QQ:1027968932)

把下面代码贴在OnBeforeRequest()方法末尾

保存Response

把下面代码贴在OnBeforeResponse()方法末尾

这里感谢Heiniu提供的方法,我已经捐赠一点心意作为答谢,这里也希望能够让更多人看到你的代码,在这里表示感谢。

为了避免有些傻吊以前没搞过什么函数式编程 把上面的代码粘贴错了 或者大括号搞丢了

我给你一个图

依葫芦画瓢总行了吧

qq%e6%88%aa%e5%9b%be20160914091719

以上,如果觉得我的创作对你有用,记得点击喜欢或者评论哦 打钱也是再好不过啦嘿嘿嘿~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/387582.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue导入非模块化的第三方插件功能无效解决方案

一、问题: 最近在写vue项目时,想引入某些非模块化的第三方插件时,总是发现会有报错。且在与本地运行插件测试对比时发现插件根本没有注入到jQuery中(console.log($.fn)查看当前jq有哪些方法),例如&#xff…

ES6笔记 -- 字符串拓展

字符串拓展 Unicode 相关 JS 允许使用/uxxxx的Unicode方式显示字符, 但是只限于码点在/u0000~/uFFFF之间, 超过该范围的码点必须用双字节形式表示ES6 中, 将码点放入大括号内, 就可以解读JS 不能处理4个字节的字符, 字符串长度会被误判为2ES6 提供了codePointAt方法, 能够正确处…

android 转发短信

通过这些代码也可以对远程手机实现短信控制。有兴趣的可以自己改一下,说一下简单的原理,要实现控制的话,必须得走一个固定的号码,固定的格式,然后通过得到此号码的内容,然后通过固定的内容,就可…

[Noi2016]区间

传送门 Code /* 线段树 尺取法 */ #include<bits/stdc.h> #define ll long long #define max(a,b) ((a)>(b)?(a):(b)) #define min(a,b) ((a)>(b)?(b):(a)) #define reg register inline int read() {int x0,f1;char chgetchar();while(ch<0||ch>9){if(…

安装CentOS6.8并配置网络图文解说亲测全过程

安装环境&#xff1a; 本文是在win10系统安装上VMWare并配置Centos6.8虚拟机。 准备工作 1.安装VMWare虚拟机 1.1下载VMWare12资源链接&#xff1a;https://pan.baidu.com/s/1AhfMSDXLO-aA0eMqnuMWHg 提取码&#xff1a;iftd 1.2安装VMWare&#xff0c;在安装过程中需要输入密钥…

Paxos算法是莱斯利·兰伯特(Leslie Lamport)1990年提出的一种基于消息传递的一致性算法。

Paxos算法是莱斯利兰伯特(Leslie Lamport)1990年提出的一种基于消息传递的一致性算法。Paxos算法解决的问题是一个分布式系统如何就某个值&#xff08;决议&#xff09;达成一致。在工程实践意义上来说&#xff0c;就是可以通过Paxos实现多副本一致性&#xff0c;分布式锁&…

09、策略模式

2019独角兽企业重金招聘Python工程师标准>>> 策略模式与工厂模式最大的区别在于&#xff0c;策略模式注重的是对算法的维护&#xff0c;也可以理解为对算法的封装。而工厂模式&#xff0c;则只是负责创建类&#xff0c;在刚接触策略模式时候&#xff0c;往往与工厂模…

Linux创建、删除文件和文件夹命令

https://www.cnblogs.com/c-x-m/p/9794082.html转载于:https://www.cnblogs.com/sun-ldy/p/10279025.html

Java编写代理服务器(Burp拦截Demo)一

大家都知道大名鼎鼎的BurpSuite代理神器&#xff0c;对于抓取HTTP请求非常好用&#xff0c;偶然&#xff0c;一朋友问我Java应该如何去编写代理服务器&#xff08;因为他想做某些东西&#xff09;&#xff0c;有没有相关的API 去实现&#xff0c;我想说&#xff0c;差不多你能想…

mysql实战33 | 我查这么多数据,会不会把数据库内存打爆?

我经常会被问到这样一个问题&#xff1a;我的主机内存只有 100G&#xff0c;现在要对一个 200G 的大表做全表扫描&#xff0c;会不会把数据库主机的内存用光了&#xff1f;这个问题确实值得担心&#xff0c;被系统 OOM&#xff08;out of memory&#xff09;可不是闹着玩的。但…

[BZOJ2125]最短路

Description 给一个N个点M条边的连通无向图&#xff0c;满足每条边最多属于一个环&#xff0c;有Q组询问&#xff0c;每次询问两点之间的最短路径。 Input 输入的第一行包含三个整数&#xff0c;分别表示N和M和Q 下接M行&#xff0c;每行三个整数v&#xff0c;u&#xff0c;w表…

Rabbit MQ windows下安装

Rabbit MQ 是建立在强大的Erlang OTP平台上&#xff0c;因此安装Rabbit MQ的前提是安装Erlang。通过下面两个连接可以下载安装最新的版本&#xff1a; 下载并安装 Eralng OTP For Windows otp_win64_18.3.exe&#xff08;erlang的环境&#xff09;运行安装 Rabbit MQ Serve…

spark集群配置以及java操作spark小demo

spark 安装配置使用java来操作sparkspark 安装 tar -zxvf spark-2.4.0-bin-hadoop2.7.tgz rm spark-2.4.0-bin-hadoop2.7.tgz mv spark-2.4.0-bin-hadoop2.7 sparksudo vim /etc/profileexport SPARK_HOME/usr/local/stormexport PATH$PATH:$SPARK_HOME/binsource /etc/profile…

C++笔记(3)——string.h相关的一些小知识

strlen() 用于得到字符数组中第一个\0前的字符的个数&#xff0c;格式如下&#xff1a; strlen(数组); 例子&#xff1a; #include <stdio.h> #include <string.h>int main(){char str[10];gets(str);int len strlen(str);printf("%d\n", len);return 0…

最近发现系统rabbitmq丢消息比较严重,于是想了些方案来查找原因,给将消息发送方式添加确认机制。 我们在本地模拟了wms发送打标消息的场景. 1. 有事务 2. 先发点对点队列, 再发订

最近发现系统rabbitmq丢消息比较严重&#xff0c;于是想了些方案来查找原因&#xff0c;给将消息发送方式添加确认机制。 我们在本地模拟了wms发送打标消息的场景. 1. 有事务 2. 先发点对点队列, 再发订阅队列 3. 批量发送 4. 在生产环境与测试环境的RabbitMQ都进行了测试 …

uoj#388. 【UNR #3】配对树(线段树合并)

传送门 先考虑一个贪心&#xff0c;对于一条边来说&#xff0c;如果当前这个序列中在它的子树中的元素个数为奇数个&#xff0c;那么这条边就会被一组匹配经过&#xff0c;否则就不会 考虑反证法&#xff0c;如果在这条边两边的元素个数都是偶数&#xff0c;那么至少有两组匹配…

一道Js判断对象是否相等面试题引发的故事

话说&#xff0c;说什么呢&#xff0c;先看下题吧还是、 function checkName(data) { if (data { name: LIMING }) { console.log("one"); 复制代码 } else if (data { name: LIMING }) { console.log(two"); 复制代码 } else { console.log("three&quo…

序列化

什么是序列化&#xff1f;为什么要实现序列化&#xff1f;有什么作用&#xff1f; 序列化就是把具体的对象转化成二进制的字节码文件进行存储或网络传输。反过来就是反序列化。 将要存储或网络传输的对象必须实现序列化才可以。 如果一个类已经实现了序列…

搭建Hive平台

http://www.cnblogs.com/gpcuster/archive/2010/02/24/1672635.html Hive是一个基于Hadoop的数据仓库平台。通过hive&#xff0c;我们可以方便地进行ETL的工作。hive定义了一个类似于SQL的查询语言&#xff1a;HQL&#xff0c;能够将用户编写的QL转化为相应的Mapreduce程序基于…

Java语言与sikuli配合

很早之前写过一篇介绍sikuli的文章。本文简单介绍如何在java中使用sikuli进自动化测试。 图形脚本语言sikuli sikuli IDE可以完成常见的单击、右击、移动到、拖动等鼠标操作&#xff0c;java引用sikuli-script.jar同样可以执行这些常见的鼠标操作&#xff0c;因此即可方便的编写…