Fiddler基本用法以及如何对手机抓包以及无法连接手机的解决

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

目录

一、Fiddler是什么?

二、Fiddler下载

三、Fiddler的工作原理

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

五、Fiddler对手机抓包

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

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

第三步 下载安装fiddler证书

第四步:在Fiddler中验证。

六、问题解决

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

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

七、更新补充

1.查看本地IP方法

2.Android、IOS https证书安装:

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

3.其他注意事项



一、Fiddler是什么?

  ·一种Web调试工具。

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

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

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

二、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、点击显示高级选项-->代理-->手动

  

  1. 代理服务器主机名设为电脑本地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协议规则里面,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

下载后直接双击安装即可

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

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

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

 

 

  • 24
    点赞
  • 123
    收藏
    觉得还不错? 一键收藏
  • 17
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值