在实际开发过程、生活中,你可能会遇到这样的问题:

  • 需要分析手机APP、微信小程序、网页的HTTPS或者HTTP请求
  • 在开发web应用时发现一些数据传输的问题,需要获取信息进行调试
  • 你是非开发人员,使用某公司数据管理软件客户电话号码是加密状态,必须管理员放权你才有机会查看
  • 登陆某网站你一直是记住密码登陆的,但是有一天你忘记了密码

Fiddler

调试来自PC,Mac或Linux系统以及移动(iOS和Android)设备的流量。确保在客户端和服务器之间传输正确的cookie,标头和缓存指令。支持任何框架,包括.NET,Java,Ruby等。并且可以进行HTTP/HTTPS流量记录,安全测试、性能测试等,可以说是一个不错的软件,但是唯一遗憾的就是没有MAC版本,如果你的电脑是mac那麽可以考虑使用CrossOver进行安装和练习。

 

下载:

Fiddler官方:https://www.crossoverchina.com/

实战Fiddle抓包解决方案,浏览器手机抓包

填写好你的邮箱,点击下载你的邮箱会收到一个fiddle发送的邮件你就可以下载了!

安装:

无脑下一步即可,这里不做过多介绍

使用:

我们可能在使用的时候面临几种使用情况

  • 浏览器HTTP抓包
  • 浏览器HTTPS抓包
  • 安卓、苹果APP抓包
  • 小程序公众号抓包

我们先来介绍下前两种解决方安

实战Fiddle抓包解决方案,浏览器手机抓包

不出意外我们进入应该是这样的页面

首先我们需要进行一些简单的设置,因为现在网页端请求和APP以及小程序大部分都是用的是HTTPS协议所以我们需要让软件来获取HTTPS协议。

实战Fiddle抓包解决方案,浏览器手机抓包

实战Fiddle抓包解决方案,浏览器手机抓包

这样你的fiddler就可一获取HTTPS的数据啦,如果你给网站配置过HTTPS那麽“证书”这个词肯定不会陌生,Fiddler也不例外,第一次会弹出证书安装提示,若没有弹出提示,勾选Actions-> Trust Root Certificate进行证书的安装。

实战Fiddle抓包解决方案,浏览器手机抓包

  选中Allow remote computers to connect(允许远程连接)

  Act as system proxy on startup(作为系统启动代理)

完成后保存,并且重启Fiddler。

浏览器抓包

 

实战Fiddle抓包解决方案,浏览器手机抓包

 

当你要使用浏览器抓包,数据信息肯定要通过代理服务器然后向路由传递,而Fiddler检测代理服务器端口我们设定的是8888,所以你的浏览器要设定一个局域网代理以及端口号,这样就有了接下来的故事。

实战Fiddle抓包解决方案,浏览器手机抓包

我下载的是Chrome的一个插件交SwitchOmega,帮助我设定代理,这里代理协议是HTTP,设hi好后点击应用选项

实战Fiddle抓包解决方案,浏览器手机抓包

右键点击你设定好的“情景模式”(软件里面这样叫),然后你就可以访问一个网址看看Fiddler是否已经抓取到了数据信息。

实战Fiddle抓包解决方案,浏览器手机抓包

这是我访问www.baidu.com,抓取的信息

实战Fiddle抓包解决方案,浏览器手机抓包

当然相信,了解HTTP协议的你,肯定可以快速找到你想要获得的信息。

 

软件如何抓取呢?

如果我想抓取一些软件传递的数据信息我如何使用Fiddler?刚好因为最近的一个微信需求,我在使用Fiddler进行手机抓包的时候,因为微信7.0版本对与证书的验证更加的严密,使我没办法抓取到我想要的一个二次开发微信公众号的数据,于是我用电脑登陆了电脑微信然后通过电脑微信访问那个公众号,Fiddler在进行抓取获得了我想要的信息。很简单!很简单!

实战Fiddle抓包解决方案,浏览器手机抓包

右键长按这个按钮然后把它拖拽到微信的窗口上就可以了!

实战Fiddle抓包解决方案,浏览器手机抓包

变成这个样子搭建看到上面的红色字体了吗?然后我就可以用电脑端微信访问微信公众号(那种经过二次开发的)。

实战Fiddle抓包解决方案,浏览器手机抓包

然后就可以抓到了,这个方法小程序好像也适用大家可以测试看看。

 

手机抓包

手机抓包过程:保证电脑和手机是在一个局域网下也就是在一个WiFi下--->手机WiFi设定代理----->访问网址:你的电脑IP+端口号----->安装证书并且设定为信任,我是小米手机安装完了他自动就弹出是否设定信任,其他手机如果没弹出的话需要手动设定,苹果手机一般都需要手动设定----->正常访问你抓取的APP

实战Fiddle抓包解决方案,浏览器手机抓包

设置好代理主机名和端口号,主机名可以使用cmd命令查找也就是你的无线适配器WLAN的IPV4地址

实战Fiddle抓包解决方案,浏览器手机抓包

手机访问你的IP:端口号,会弹出Fiddler,点击这个可以下载证书并且安装,一定要记得设置信任,尤其是苹果用户。

安装完后你就可以访问你要抓取的APP了,电脑端的Fiddler就会有显示了。

实战Fiddle抓包解决方案,浏览器手机抓包

实战Fiddle抓包解决方案,浏览器手机抓包

 

嗯.....好看养眼

资料

Fiddler开始工作了,抓到的数据包就会显示在列表里面,下面总结了这些都是什么意思:

实战Fiddle抓包解决方案,浏览器手机抓包

名称

含义

#

抓取HTTP Request的顺序,从1开始,以此递增

Result

HTTP状态码

Protocol

请求使用的协议,如HTTP/HTTPS/FTP等

Host

请求地址的主机名

URL

请求资源的位置

Body

该请求的大小

Caching

请求的缓存过期时间或者缓存控制值

Content-Type

请求响应的类型

Process

发送此请求的进程:进程ID

Comments

允许用户为此回话添加备注

Custom

允许用户设置自定义值

图标

含义

实战Fiddle抓包解决方案,浏览器手机抓包

请求已经发往服务器

实战Fiddle抓包解决方案,浏览器手机抓包

已从服务器下载响应结果

实战Fiddle抓包解决方案,浏览器手机抓包

请求从断点处暂停

实战Fiddle抓包解决方案,浏览器手机抓包

响应从断点处暂停

实战Fiddle抓包解决方案,浏览器手机抓包

请求使用 HTTP 的 HEAD 方法,即响应没有内容(Body)

实战Fiddle抓包解决方案,浏览器手机抓包

请求使用 HTTP 的 POST 方法

实战Fiddle抓包解决方案,浏览器手机抓包

请求使用 HTTP 的 CONNECT 方法,使用 HTTPS 协议建立连接隧道

实战Fiddle抓包解决方案,浏览器手机抓包

响应是 HTML 格式

实战Fiddle抓包解决方案,浏览器手机抓包

响应是一张图片

实战Fiddle抓包解决方案,浏览器手机抓包

响应是脚本格式

实战Fiddle抓包解决方案,浏览器手机抓包

响应是 CSS 格式

实战Fiddle抓包解决方案,浏览器手机抓包

响应是 XML 格式

实战Fiddle抓包解决方案,浏览器手机抓包

响应是 JSON 格式

实战Fiddle抓包解决方案,浏览器手机抓包

响应是一个音频文件

实战Fiddle抓包解决方案,浏览器手机抓包

响应是一个视频文件

实战Fiddle抓包解决方案,浏览器手机抓包

响应是一个 SilverLight

实战Fiddle抓包解决方案,浏览器手机抓包

响应是一个 FLASH

实战Fiddle抓包解决方案,浏览器手机抓包

响应是一个字体

实战Fiddle抓包解决方案,浏览器手机抓包

普通响应成功

实战Fiddle抓包解决方案,浏览器手机抓包

响应是 HTTP/300、301、302、303 或 307 重定向

实战Fiddle抓包解决方案,浏览器手机抓包

响应是 HTTP/304(无变更):使用缓存文件

实战Fiddle抓包解决方案,浏览器手机抓包

响应需要客户端证书验证

实战Fiddle抓包解决方案,浏览器手机抓包

服务端错误

实战Fiddle抓包解决方案,浏览器手机抓包

会话被客户端、Fiddler 或者服务端终止

 Statistics 请求的性能数据分析

左边看完了,现在可以看右边了

随意点击一个请求,就可以看到Statistics关于HTTP请求的性能以及数据分析了(不可能安装好了Fiddler一条请求都没有…):

实战Fiddle抓包解决方案,浏览器手机抓包

 

Inspectors 查看数据内容

Inspectors是用于查看会话的内容,上半部分是请求的内容,下半部分是响应的内容:

实战Fiddle抓包解决方案,浏览器手机抓包

 

 

相关文章: