你真的会用Fiddler抓包工具吗—Android程序员抓包必备

Posted 终端研发部

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了你真的会用Fiddler抓包工具吗—Android程序员抓包必备相关的知识,希望对你有一定的参考价值。

前言介绍

Fiddler抓包工具介绍及其应用场景

正文

什么是Fiddler


Fiddler是http调试代理,他能够记录所有的你电脑与互联网之间的通讯,Fiddler也可以让你检查所有的http通讯,设置断点,以及fiddler所有的"进出数据"。(指: cookie,html,js,css等文件,这些都是你可以随意修改的)

Fiddler包含一个简单却功能强大的基于JScript .NET事件脚本子系统,他非常灵活性非常棒,可以支持众多的http调试任务。Fiddler是用C#写出来的。

filder软件下载: https://www.telerik.com/download/fiddler

 filder学习网站: https://www.bbsmax.com/R/gVdnmPON5W/

Fiddler的工作原理


fiddler是将自己设置为一个代理服务器,默认监听: 127.0.0.1:8888端口,同时将浏览器的http、https协议设置为使用代理服务器,也就是使用自己作为浏览器的代理服务器。

你真的会用Fiddler抓包工具吗—Android程序员抓包必备

  • 打开fiddler后,fiddler自动为你设置的http代理

你真的会用Fiddler抓包工具吗—Android程序员抓包必备

  • 抓取Andriod与ios数据包的原理也是一样,在Andriod上设置Http代理为Fiddler代理服务器;

Fiddler的使用

你真的会用Fiddler抓包工具吗—Android程序员抓包必备

你真的会用Fiddler抓包工具吗—Android程序员抓包必备

(2) 手机代理设置

  • Andriod设置

  • IOS设置

(3) 安装证书

 由于有些App有使用了HTTPS证书,所以在Andriod、IOS上没有安装Fiddler证书就可以回出现App无法使用的情况;

你真的会用Fiddler抓包工具吗—Android程序员抓包必备

Fiddler界面介绍


Fiddler的主界面分为 :

1. 工具面板
2. 会话面板
3. 监控面板

你真的会用Fiddler抓包工具吗—Android程序员抓包必备

工具面板

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

两种模式

  • 缓冲模式(Buffering Mode)Fiddler直到HTTP响应完成时才将数据返回给应用程序。可以控制响应,修改响应数据。但是时序图有时候会出现异常

  • 流模式(Streaming Mode)Fiddler会即时将HTTP响应的数据返回给应用程序。更接近真实浏览器的性能。时序图更准确,但是不能控制响应。

回话面板


你真的会用Fiddler抓包工具吗—Android程序员抓包必备回话面板上对应字段的含义

你真的会用Fiddler抓包工具吗—Android程序员抓包必备

你真的会用Fiddler抓包工具吗—Android程序员抓包必备

监控面板


你真的会用Fiddler抓包工具吗—Android程序员抓包必备默认情况下,一旦开启 Fiddler,就会走它的代理。有时候你想暂停这种行为,那请看到左下方有个状态栏。

你真的会用Fiddler抓包工具吗—Android程序员抓包必备

 单击一下左边的 Capturing,就能停止拦截,想再开启,就再单击一下。

它的右边是会话的来源,可以设置仅仅拦截浏览器发出的请求。

再右边有三种选择:1、在请求发出之前进行断点;2、在响应回来的时候进行断点;3、不设断点。

控制台Fiddler的左下角有一个命令行工具叫做QuickExec,允许你直接输入命令。 常见得命令有:

你真的会用Fiddler抓包工具吗—Android程序员抓包必备例子bpu http://www.qq.com,这种方法只会中断http://www.qq.com,消除断点的方法就是在命令行中输入命令 bpu。

Request 中有三个比较厉害的:


  • Inspectors:选中之后,可以详细查看请求的 Headers、Cookies,并且可以对请求体格式化,以 WebForms、JSON、Raw 等方式查看。具体每种方式的区别可以自己感受一下。一般来说,想要查看请求的参数的话,WebForms 的方式就挺直观的。

你真的会用Fiddler抓包工具吗—Android程序员抓包必备

  • AutoResponder:这个地方可以模拟服务端返回值。顾名思义,当浏览器发出的请求满足你设置的匹配条件的话,Fiddler 就自动响应了,并不需要走网络。

模拟返回值 想要模拟返回值,首先要设置响应断点。

bpafter /foo

你真的会用Fiddler抓包工具吗—Android程序员抓包必备当满足条件的响应回来时,选中该会话,就可以看到如图所示的面板。选择 Raw 视图(其他也可以,Raw 可以修改更多的内容),然后可以清楚地看到,服务端返回的内容是

{name: 'Jarvis', gender: 'M'} 把上面的 M 修改成 F,然后单击“Run to Completion”,就能把修改后的返回值送还给浏览器了。

自动化呢?没错,人往往喜欢偷懒,如果每次要修改,岂不是很麻烦。

你真的会用Fiddler抓包工具吗—Android程序员抓包必备

  • 选中想要拦截的请求,比如 /api/foo

  • 然后在 Request 面板选择 AutoResponder

  • 再选择 “Add Rule”

  • 在最下面的下拉框选择 “Create New Response...”

  • 然后 “Save”

  • 此时会弹出一个对话框,跟 Response 面板的布局一样,在上面可以编辑返回值。 或者你直接把定义好的返回内容保存成文件,在刚才那个下拉框中选择该文件就行了。

  • Composer:模拟向服务端发送请求,用于测试服务端接口是否正确。 模拟请求 右侧的 Composer 窗口可以模拟发送请求。

你真的会用Fiddler抓包工具吗—Android程序员抓包必备刚打开这个窗口的时候,应该是一片空白。你可以从左侧会话列表拖一个会话过去,这样就有预填的信息了,修改一下参数,点“Execute”,piu,一条请求就发送出去了。

接着在会话列表就可以查看服务端的返回值。

Response 中常用也列三个吧:


  • Headers:响应头。比如 Content-Type、Access-Control-Allow-Origin 等这些属性都在这个 tab 展示。

  • Cookies:查看由服务端带回来的 cookie。

  • JSON:将返回的内容以 JSON 格式显示。这个很有用,特别是当服务端返回的内容本身就是 JSON 的时候。

Fiddler官方文档:

http://docs.telerik.com/fiddler/KnowledgeBase/QuickExec



http://www.jianshu.com/p/bcc6732ab325

终端研发部提倡 没有做不到的,只有想不到的

在这里获得的不仅仅是技术!


让心,在阳光下学会舞蹈

让灵魂,在痛苦中学会微笑

—终端研发部—



如果你觉得此文对您有所帮助,欢迎入群 QQ交流群 :232203809   


            

这里学到的不仅仅

以上是关于你真的会用Fiddler抓包工具吗—Android程序员抓包必备的主要内容,如果未能解决你的问题,请参考以下文章

android抓包 fiddler怎么配置

如何用Fiddler对Android应用进行抓包

如何用Fiddler对Android应用进行抓包

抓包工具Fiddler-使用教程

能读懂这个,才算你真的会Fiddler

Android 配置Fiddler抓包