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_principle.png
  • 打开fiddler后,fiddler自动为你设置的http代理
fiddler_http_proxy.png
  • 抓取Andriod与IOS数据包的原理也是一样,在Andriod上设置Http代理为Fiddler代理服务器;

Fiddler的使用

(1) 从上面的下载地址下载最新的fiddler,安装软件。
设置fiddler: Tools菜单下Fiddler Options选项,选择Connections,勾选Allow remote computers to connect;

fiddler_options.png

该设置是指Fiddler允许远程电脑连接,设置好后重启Fiddler;
在命令行下使用ipconfig查看本机地址,如:10.0.0.123;

android_setting.png

(2) 手机代理设置

  • Andriod设置

设置->WLAN,找到当前正在使用的Wifi,长按该连接,弹出选项后选择 “修改网络” ,然后勾选实现高级选项
在代理选择框中选手动,在代理服务器主机名中填入刚刚在电脑上看到的地址:10.0.0.123,端口填8888,然后点击保存;

  • IOS设置

这里使用的是IOS 9,点击设置图标,选择无线局域网,找到当前连接的wifi点击后面的!号图标,在HTTP代理中选择手动,
服务器地址填,电脑的地址:10.0.0.123,端口填8888,然后即可,IOS中设置好后自动保存;

(3) 安装证书

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

安装证书,在浏览器中输入:10.0.0.123:8888(你电脑的IP地址),点击FiddlerRoot certificate,然后安装证书;

mobile_certificate.png

Fiddler界面介绍

Fiddler的主界面分为 :
1. 工具面板
2. 会话面板
3. 监控面板

fiddler_panel.png
工具面板
工具面板.jpg

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

两种模式

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

回话面板

回话面板.png

回话面板上对应字段的含义

回话面板状态字段含义.png
回话面板图标.png

监控面板

监控面板.png

默认情况下,一旦开启 Fiddler,就会走它的代理。有时候你想暂停这种行为,那请看到左下方有个状态栏。

fiddler_capturing.png

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

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

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

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

fiddler_quick_order.png

例子bpu http://www.qq.com,这种方法只会中断http://www.qq.com,消除断点的方法就是在命令行中输入命令 bpu。

Request 中有三个比较厉害的

  • Inspectors:选中之后,可以详细查看请求的 Headers、Cookies,并且可以对请求体格式化,以 WebForms、JSON、Raw 等方式查看。具体每种方式的区别可以自己感受一下。一般来说,想要查看请求的参数的话,WebForms 的方式就挺直观的。
inspector.png
  • AutoResponder:这个地方可以模拟服务端返回值。顾名思义,当浏览器发出的请求满足你设置的匹配条件的话,Fiddler 就自动响应了,并不需要走网络。

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

bpafter /foo

模拟1.png

当满足条件的响应回来时,选中该会话,就可以看到如图所示的面板。选择 Raw 视图(其他也可以,Raw 可以修改更多的内容),然后可以清楚地看到,服务端返回的内容是

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

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

自动化1.png
  • 选中想要拦截的请求,比如 /api/foo
  • 然后在 Request 面板选择 AutoResponder
  • 再选择 “Add Rule”
  • 在最下面的下拉框选择 “Create New Response...”
  • 然后 “Save”
  • 此时会弹出一个对话框,跟 Response 面板的布局一样,在上面可以编辑返回值。

或者你直接把定义好的返回内容保存成文件,在刚才那个下拉框中选择该文件就行了。

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

刚打开这个窗口的时候,应该是一片空白。你可以从左侧会话列表拖一个会话过去,这样就有预填的信息了,修改一下参数,点“Execute”,piu,一条请求就发送出去了。

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

Response 中常用也列三个吧

  • Headers:响应头。比如 Content-Type、Access-Control-Allow-Origin 等这些属性都在这个 tab 展示。
  • Cookies:查看由服务端带回来的 cookie。
  • JSON:将返回的内容以 JSON 格式显示。这个很有用,特别是当服务端返回的内容本身就是 JSON 的时候。

最后附上Fiddler官方文档

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,108评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,699评论 1 296
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,812评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,236评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,583评论 3 288
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,739评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,957评论 2 315
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,704评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,447评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,643评论 2 249
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,133评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,486评论 3 256
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,151评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,108评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,889评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,782评论 2 277
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,681评论 2 272

推荐阅读更多精彩内容

  • Fiddler_官方网站Fiddler_官方文档Fiddler_官方视频Fiddler_官方插件1、Filddle...
    52Alice阅读 7,580评论 0 10
  • 前言fiddler是一个很好的抓包工具,默认是抓http请求的,对于pc上的https请求,会提示网页不安全,这时...
    胖子爱猪蹄阅读 11,954评论 4 22
  • 1、简介与安装 Fiddler是一个http调试代理,它能够记录所有的你电脑和互联网之间的http通讯,Fiddl...
    有钱且幸福阅读 1,226评论 0 6
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,103评论 18 139
  • 6组家长助教 #父母的高度是孩子的起点# 加油倩铭 9岁 践行打卡 24/30 孩子第三个30天目标: 1.放学先...
    蜗牛想有双翅膀阅读 143评论 0 1