参考链接:http://www.cnblogs.com/codingblock/p/5004694.html
<http://www.cnblogs.com/codingblock/p/5004694.html>

目录

一、Fiddler是什么?
<https://blog.csdn.net/cui130/article/details/80595435#%E4%B8%80%E3%80%81Fiddler%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F>

二、Fiddler下载
<https://blog.csdn.net/cui130/article/details/80595435#%E4%BA%8C%E3%80%81Fiddler%E4%B8%8B%E8%BD%BD>

三、Fiddler的工作原理
<https://blog.csdn.net/cui130/article/details/80595435#%E4%B8%89%E3%80%81Fiddler%E7%9A%84%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86>

四、Fiddler基本用法(界面布局)
<https://blog.csdn.net/cui130/article/details/80595435#%E5%9B%9B%E3%80%81Fiddler%E5%9F%BA%E6%9C%AC%E7%94%A8%E6%B3%95%EF%BC%88%E7%95%8C%E9%9D%A2%E5%B8%83%E5%B1%80%EF%BC%89>

五、Fiddler对手机抓包
<https://blog.csdn.net/cui130/article/details/80595435#%E4%BA%94%E3%80%81Fiddler%E5%AF%B9%E6%89%8B%E6%9C%BA%E6%8A%93%E5%8C%85>

第一步:对Fiddler设置为允许远程连接。
<https://blog.csdn.net/cui130/article/details/80595435#%E7%AC%AC%E4%B8%80%E6%AD%A5%EF%BC%9A%E5%AF%B9Fiddler%E8%AE%BE%E7%BD%AE%E4%B8%BA%E5%85%81%E8%AE%B8%E8%BF%9C%E7%A8%8B%E8%BF%9E%E6%8E%A5%E3%80%82>

第二步:修改手机连接网络为代理模式。
<https://blog.csdn.net/cui130/article/details/80595435#%E7%AC%AC%E4%BA%8C%E6%AD%A5%EF%BC%9A%E4%BF%AE%E6%94%B9%E6%89%8B%E6%9C%BA%E8%BF%9E%E6%8E%A5%E7%BD%91%E7%BB%9C%E4%B8%BA%E4%BB%A3%E7%90%86%E6%A8%A1%E5%BC%8F%E3%80%82>

第三步 下载安装fiddler证书
<https://blog.csdn.net/cui130/article/details/80595435#%E7%AC%AC%E4%B8%89%E6%AD%A5%20%E4%B8%8B%E8%BD%BD%E5%AE%89%E8%A3%85fiddler%E8%AF%81%E4%B9%A6>

第四步:在Fiddler中验证。
<https://blog.csdn.net/cui130/article/details/80595435#%E7%AC%AC%E5%9B%9B%E6%AD%A5%EF%BC%9A%E5%9C%A8Fiddler%E4%B8%AD%E9%AA%8C%E8%AF%81%E3%80%82>

六、问题解决
<https://blog.csdn.net/cui130/article/details/80595435#%E5%85%AD%E3%80%81%E9%97%AE%E9%A2%98%E8%A7%A3%E5%86%B3>

1.解决Fiddler无法抓到手机的会话包
<https://blog.csdn.net/cui130/article/details/80595435#1.%E8%A7%A3%E5%86%B3Fiddler%E6%97%A0%E6%B3%95%E6%8A%93%E5%88%B0%E6%89%8B%E6%9C%BA%E7%9A%84%E4%BC%9A%E8%AF%9D%E5%8C%85>

2.如何查看两个网络是否为同一局域网:
<https://blog.csdn.net/cui130/article/details/80595435#2.%E5%A6%82%E4%BD%95%E6%9F%A5%E7%9C%8B%E4%B8%A4%E4%B8%AA%E7%BD%91%E7%BB%9C%E6%98%AF%E5%90%A6%E4%B8%BA%E5%90%8C%E4%B8%80%E5%B1%80%E5%9F%9F%E7%BD%91%EF%BC%9A>

七、更新补充
<https://blog.csdn.net/cui130/article/details/80595435#%E4%B8%83%E3%80%81%E6%9B%B4%E6%96%B0%E8%A1%A5%E5%85%85>

1.查看本地IP方法
<https://blog.csdn.net/cui130/article/details/80595435#1.%E6%9F%A5%E7%9C%8B%E6%9C%AC%E5%9C%B0IP%E6%96%B9%E6%B3%95>

2.Android、IOS https证书安装:
<https://blog.csdn.net/cui130/article/details/80595435#2.Android%E3%80%81IOS%20https%E8%AF%81%E4%B9%A6%E5%AE%89%E8%A3%85%EF%BC%9A>

3.PC端浏览器抓包证书安装:
<https://blog.csdn.net/cui130/article/details/80595435#3.PC%E7%AB%AF%E6%B5%8F%E8%A7%88%E5%99%A8%E6%8A%93%E5%8C%85%E8%AF%81%E4%B9%A6%E5%AE%89%E8%A3%85%EF%BC%9A>

3.其他注意事项
<https://blog.csdn.net/cui130/article/details/80595435#3.%E5%85%B6%E4%BB%96%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9>

一、Fiddler是什么?

  ·一种Web调试工具。

  ·可以记录所有客户端和服务器的http和https请求。

  ·允许监视、设置断点、修改输入输出数据。

  官方文档(英文):
http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/ConfigureFiddler
<http://docs.telerik.com/fiddler/configure-fiddler/tasks/configurefiddler>

二、Fiddler下载

  官网下载地址:http://www.telerik.com/download/fiddler
<http://www.telerik.com/download/fiddler>

三、Fiddler的工作原理

  Fiddler
是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。当Fiddler退出的时候它会自动注销,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler。

  

 

四、Fiddler基本用法(界面布局)



打开Fiddler后,在浏览器中做任意请求,即可被Fiddler记录,包括返回码,请求协议,主机名,请求地址等等,

可在请求区域查看详细的请求信息,在响应区域查看详细的返回结果。如下图: 

 

五、Fiddler对手机抓包

首先声明,本教程win7到win10均有尝试可用。不同的系统也没有针对性的的问题。

第一步:对Fiddler设置为允许远程连接。

Tools->Fiddler Options->Connections



 

说明:1.Fiddler listens on port是手机连接fiddler时的代理端口号,默认8888即可

          2.Allow remote computers to connect是允许远程发送请求,需要勾上

Tools->Fiddler Options->HTTPS



说明:勾上Decrypt HTTPS traffic,会抓到手机的https请求,如果想抓到https请求还需要在手机安装证书,下面会介绍

【fiddler设置后一定要把fiddler重启一下才会生效】

 

第二步:修改手机连接网络为代理模式。

  1、打开正在连接的wifi,修改网络(一般长按就会出现)

  

  2、点击显示高级选项-->代理-->手动

  

* 代理服务器主机名设为电脑本地IP地址(192.168.0.100),端口设为:8888
  如下图

  

第三步 下载安装fiddler证书


使用手机浏览器访问http://【电脑IP地址】:【fiddler设置的端口号】,即可下载fiddler的证书并安装。以上面看到的我的IP地址为例,手机只要访问http://192.168.0.100:8888即可打开下图界面,点击底部的蓝色下划线英文“FiddlerRoot
certificate”即可下载证书:

 



第四步:在Fiddler中验证。

在手机中用浏览器或者其他APP,做网络请求,即可在Fiddler中记录,

例如:在手机打开我的app,发起网络请求,这时在Fiddler中就会记录下请求。如下图: 

六、问题解决

1.解决Fiddler无法抓到手机的会话包


(1)使用netstat命令,查看Fiddler是否监听端口8888。出现127.0.0.1:8888表示已经监听本机的;出现IP地址:8888,表示已经监听其他主机的。

(2)如果没有出现IP地址:8888,就需要在Windows防火墙中,添加Fiddler为例外程序,将端口8888设置为例外端口。

(3)在手机设置代理,IP地址为Fiddler所在电脑的IP。端口号为8888。注意,手机和Fiddler所在电脑必须在同一个局域网内。

不过奇怪的是我手机ip是192.168.99.199,子网掩码255.255.255.0;电脑ip是
192.168.1.32,子网掩码255.255.255.0,也可以连接手机抓包,还希望知道原因的同学告知?

2.如何查看两个网络是否为同一局域网:

1.在windows中,开始->cmd 进入Dos,输入ipconfig /all,查看网络配置。

2.首先看子网掩码(Subnet Mask),如果两台机器子网掩码不一致,不在一个局域网。

3.若子网掩码一致,再看IP地址的与子网掩码255对应的IP段是否一致,如果一致,属于一个子网,即一个局域网。

例如 10.178.0.222 与 10.178.1.212 两个IP地址,它们的子网掩码都是255.255.0.0,在TCP/IP协议
<https://www.baidu.com/s?wd=TCP%2FIP%E5%8D%8F%E8%AE%AE&tn=SE_PcZhidaonwhc_ngpagmjz&rsv_dl=gh_pc_zhidao>
规则里面,IP地址与子网掩码做与运算,255换成十六进制就是FF,换成二进制就是11111111,10.178.0.222与255.255.0.0做与运算的结果是10.178.0.0,同样10.178.1.212与255.255.0.0做与运算也是10.178.0.0,因此这两个地址属于一个局域网。
而10.178.0.222与10.178.1.212两个IP地址,若它们的子网掩码都是255.255.255.0的话,他们就不属于一个局域网。这两个IP地址与子网掩码做与运算后结果分别为10.178.0.0和10.178.1.0,很明显IP不一致。
另外通过命令Net View命令查看同处局域网的IP用户。

七、更新补充

1.查看本地IP方法

打开cmd,输入ipconfig回车,然后查找IPv4地址。


2.Android、IOS https证书安装:

1、PC端打开fiddler

2、手机端设置好代理,输入http://[FIDDLERSERVER]:[Port]/FiddlerRoot.cer.(http://192.168.1.121:8888/FiddlerRoot.cer)
3、自动下载fiddlerRoot.cer证书
4、进入设置–高级设置–安全–从SD卡安装证书–选择fiddlerRoot.cer–安装,提示安装成功。
5、ok了

 

3.PC端浏览器抓包证书安装:

1、将之前的证书删除:打开系统证书管理器(运行=》certmgr.msc=》回车),然后出现管理器,将你之前生成的证书删除即可。
2、用一个叫”FiddlerCertMaker.exe“的工具重新打了一个证书。你可以点击这里下载。(下载成功之后,直接双击运行即可)
3、重新打开fiddler,使用chrome/ie输入”https://www.baidu.com/“,这回可以捕获https的消息并解密成功了。

4、使用iOS远程连接fiddler的代理地址,在线安装证书成功后,使用原生浏览器访问“https://www.baidu.com/”,fiddler成功抓取到https的数据。

5、fiddler抓Chrome的网页时,可能会提示连接不安全无法使用,在Chrome上安装插件SwitchySharp,在插件中选择通用设置—勾选快速切换—选择使用系统代理设置–ok了。因为fiddler会自动给浏览器设置一个代理127.0.0.1端口8888,并且记忆浏览器的代理设置,所有的请求先走fiddler代理,再走浏览器代理。如果使用插件,可能会直接屏蔽了fiddler的代理,因此无法监听到请求了。

 

3.其他注意事项



1、chrome和ie使用的是系统代理,而火狐使用的是独立的一套代理系统,所以不管fiddler的开关”capturing“是否打开,都捕获不了火狐浏览器的请求。需要我们将火狐浏览器的代理设置设置为系统代理或者配置为”手工配置代理“

2、火狐浏览器使用的证书管理也是独立的一套系统,而chrome和ie使用的是系统的证书代理,所以我们如果想要使用fiddler抓取火狐浏览器的https的数据包,则需要将fiddler的根证书导出到桌面,然后再导入到firefox的证书中。而我们使用chrome和ie的时候是不需要将证书导入导出的,因为fiddler的证书就安装在系统的证书管理中。
3、如果在使用fiddler的过程中证书出现问题,可以尝试使用”FiddlerCertMaker.exe“重新打一下证书

4、如果在使用安卓或者ios等出现https抓取不到数据的问题,如果在本机上安装”FiddlerCertMaker.exe”都不行,就尝试一下fiddler的另外一个插件“CertMaker 
for iOS and Android ”这个插件可以在官方网站上进行下载。

八.再填一个坑

Unable to configure Windows to Trust the Fiddler Root certificate.The LOG tab
may contain more info



使用下面方法解决掉了:网上很多类似解决方法,但是很多都失败,这里备份一个可用的:

1.删除不受信任的证书:

证书管理界面怎么进上文提过了



2.下载证书生成器:

1.证书生成器下载地址


http://www.telerik.com/docs/default-source/fiddler/addons/fiddlercertmaker.exe?sfvrsn=2

<http://www.telerik.com/docs/default-source/fiddler/addons/fiddlercertmaker.exe?sfvrsn=2>

下载后直接双击安装即可



下载后点击安装,如果提示以上信息,大概是说不兼容,需要下载更高的fiddler版本,安装后接着按照上面的证书导出方法即可。

这个证书生成器是专门生成fiddler证书的,安装后会自动关联fiddler

3.重启fiddler(最好证书安装前就先关闭fiddler,因为我的操作是这样的)

 



 

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信