1、Fiddler介绍

Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑,移动设备和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。 Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式。它C#写出来的,它包含一个简单却功能强大的基于JScript .NET 事件脚本子系统,它的灵活性非常棒,可以支持众多的http调试任务,并且能够使用.net框架语言进行扩展。官网也有很多插件提供,搜索引擎也能搜索到很多的相关插件,如有需求可自行搜索.它的强大之处就是可以自由的拦截到HTTP/HTTPS请求并解析内容,这个过程不仅仅是查看请求而已,这个工具是可以支持设断点修改请求后并再原请求发送或响应的。这也是很多Web调试工具做不到的。能查看请求流量的工具很多,但是能断点修改包并伪造的较少。

工作原理

Fiddler是以代理WEB服务器的形式工作的,浏览器与服务器之间通过建立TCP连接以HTTP协议进行通信,浏览器默认通过自己发送HTTP请求到服务器,它使用代理地址:127.0.0.1, 端口:8888. 当Fiddler开启会自动设置代理, 退出的时候它会自动注销代理,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler。

官方网站:https://www.telerik.com/fiddler  软件是支持免费使用的,原版是英文版,如有需要可自行搜索英文版。推荐使用英文版。

快速下载地址:https://telerik-fiddler.s3.amazonaws.com/fiddler/FiddlerSetup.exe 无须科学上网,国内即可正常访问下载,如地址失效请百度下载

2、安装软件

先下载好安装包,安装前先检查电脑是否已经安装了.NET Framework 4.0及其以上的版本,如果没有安装点我,一般现在的windows系统都是安装了的。环境准备好后开始安装:

操作步骤:I Agree>Install>OK  这个工具有一个反人类的东西就是安装完成没有自动在桌面生成快捷键,所以还需要在安装的时候注意安装路径并找到目录去手动创建快捷键。

工具主页面:

3、配置软件

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.配置HTTPS请求解析,也是非常6B的一项功能之一

这里需要稍微写一点C#的代码(复制就好),找到工具的菜单栏 Ruler –>CustomizeRules 在函数OnBeforeResponse里面添加下面代码:

if (oSession.oRequest["User-Agent"].indexOf("Android") > - && oSession.HTTPMethodIs("CONNECT")) {
oSession.oResponse.headers["Connection"] = "Keep-Alive";
}

添加代码后的格式为:

static function OnBeforeResponse(oSession: Session) {
if (m_Hide304s && oSession.responseCode == ) {
oSession["ui-hide"] = "true";
}
if (oSession.oRequest["User-Agent"].indexOf("Android") > - && oSession.HTTPMethodIs("CONNECT")) {
oSession.oResponse.headers["Connection"] = "Keep-Alive";
}
}

添加完成后记得Ctrl+S保存并重启Fiddler工具,这个时候就可以解析HTTPS流量并拦截了。

如在使用过程中出现了异常:creation of the root certificate was not successful

 

找到Fiddler 的安装目录安装Shift+鼠标右键 选择菜单"在此处打开命令窗口"然后输入以下内容回车

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

4、移动设备进行抓包配置

这里我拿iphone做举例,服务器填写的就是你的局域网电脑IP,端口就是上一步配置的端口,默认是8888.

4、进行实战截包断点修改

以下是一个简单的例子:由于我的电脑使用了别的代理,所以一直提示"The system proxy was changed,click to reenable fiddler capture”

 5、使用小普及

Fiddler的主界面分为 工具面板、会话面板、监控面板、状态面板

工具面板:

说明注释、重新请求、删除会话、继续执行、流模式/缓冲模式、解码、保留会话、监控指定进程、寻找、保存会话、切图、计时、打开浏览器、清除IE缓存、编码/解码工具、弹出控制监控面板、MSDN、帮助

两种模式

    • 缓冲模式(Buffering Mode)Fiddler直到HTTP响应完成时才将数据返回给应用程序。可以控制响应,修改响应数据。但是时序图有时候会出现异常
    • 流模式(Streaming Mode)Fiddler会即时将HTTP响应的数据返回给应用程序。更接近真实浏览器的性能。时序图更准确,但是不能控制响应。

会话面板:


控制面板:

6、配置异常解决

6.1 提示错误:Creation of the root certificate was not successful.

解决法案:

安装FiddlerCertMaker.exe即可  下载地址:https://download.csdn.net/download/u014714937/10558873

7、官网学习资料

  1. Fiddler官方网站
  2. Fiddler官方文档
  3. Fiddler官方视频
  4. Fiddler官方插件
  5. Fiddler设置HTTPS

快速学会使用Fiddler抓包 截包伪造提交包的更多相关文章

  1. [转]如何使用Fiddler抓取指定浏览器的数据包

    参考资料:https://www.cnblogs.com/lauren1003/p/6519630.html 使用fiddler抓取不到浏览器的包时常用的解决办法: 1.必须先打开Fiddler,再打 ...

  2. 使用Fiddler抓取手机上的数据包

    在IIS中,如果网站已经绑定了域名在使用IP是不能访问的,需要添加一个空的主机名与IP的映射才能访问.如下图: Fiddler抓取手机包 在PC上建一个WIFI热的 勾选Fiddler中Tool-&g ...

  3. 关于换了手机后,导致原来连的fiddler抓不到新手机上的包的解决方法

    原来我们测试都是一台安卓机,一台ios机,由于机子不够,所以安卓机都是自己的手机,可以连内网,也可以连外网 但是最近这几天,不知道公司抽了什么风.把网都给限制了,只有公司的测试机,才能连内网测,结果我 ...

  4. 网络爬虫中Fiddler抓取PC端网页数据包与手机端APP数据包

    1 引言 在编写网络爬虫时,第一步(也是极为关键一步)就是对网络的请求(request)和回复(response)进行分析,寻找其中的规律,然后才能通过网络爬虫进行模拟.浏览器大多也自带有调试工具可以 ...

  5. fiddler 抓取 逍遥安卓模拟器 https包

    1.打开fiddler,进行相关设置 Tools--Fiddler Options 接下来进行客户端网络配置 1 查看电脑ip地址,ipconfig 逍遥游模拟器中使用自带的浏览器,访问192.168 ...

  6. Fiddler抓取Android手机网络数据包

    也许你也有疑问,如果开发没有完备的接口文档,我如何知道他API的信息? 这时我们就得通过一些抓包工具抓取这些API信息. 常见抓包工具 HTTP抓包工具:Fiddler.Charles.Firebug ...

  7. Fiddler抓取手机APP程序数据包

    1.下载并安装Fiddler 下载地址:https://www.telerik.com/download/fiddler 2.设置Fiddler可监听远程通讯 前提条件:需要监听的手机和Fiddler ...

  8. fiddler抓取app的https的包

    线上问题的排查有时候需要抓包,但是是https协议的,则需要安装证书 在Android 6.0 (API level 23)及以前,APP默认信任系统自带的CA证书以及用于导入的CA证书,Androi ...

  9. 通过Fiddler抓取Java HttpClient的HTTP包

    设置HttpClient访问Fiddler的代理即可. public static void main(String[] args) throws Exception { HttpPost httpP ...

随机推荐

  1. JAVA 局部变量表

    1. 除了 long,double 占用两个slot 之外,其他类型均占用一个slot. 2.在内容相同的情况下, 实例方法(不加 static) 会比 类方法 (static)对占用一个局部变量位置 ...

  2. HDFS 分布式写入问题 AlreadyBeingCreatedException

    进行追加文件时出现AlreadyBeingCreatedException错误 堆栈信息大致如下: org.apache.hadoop.ipc.RemoteException(org.apache.h ...

  3. POJ-1273-Drainage Ditches(网络流之最大流)

    Every time it rains on Farmer John's fields, a pond forms over Bessie's favorite clover patch. This ...

  4. 【专章】dp入门

    动态规划(简称dp),可以说是各种程序设计中遇到的第一个坎吧,这篇博文是我对dp的一点点理解,希望可以帮助更多人dp入门. ***实践是检验真理的唯一标准,看再多文章不如自己动手做几道!!!*** 先 ...

  5. thinkphp传参

    use think\Request; 写法1: $parms=Request::instance()->param(); $param=$params['键值']; 写法2: $request= ...

  6. DOM中的parentNode总结

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  7. 用python爬虫爬取去哪儿4500个热门景点,看看国庆不能去哪儿

    前言:本文建议有一定Python基础和前端(html,js)基础的盆友阅读. 金秋九月,丹桂飘香,在这秋高气爽,阳光灿烂的收获季节里,我们送走了一个个暑假余额耗尽哭着走向校园的孩籽们,又即将迎来一年一 ...

  8. Mysql 协议嗅探

    需求 监听通过网卡的所有mysql流量,进行解析,可在不影响现有业务情况下,进行入侵检测(IDS)或数据集成 协议要点 起初发现 用mysql-front访问数据库和mysql 的客户端访问时数据包格 ...

  9. jvm中的垃圾回收器

    HotSpot JVM收集器 上面有7中收集器,分为两块,上面为新生代收集器,下面是老年代收集器.如果两个收集器之间存在连线,就说明它们可以搭配使用.Serial(串行GC)收集器 Serial收集器 ...

  10. Python单元测试框架

    目录 概况 系统要求 使用PyUnit构建自己的测试 安装 测试用例介绍 创建一个简单测试用例 复用设置代码:创建固件 包含多个测试方法的测试用例类 将测试用例聚合成测试套件 嵌套测试用例 测试代码的 ...