Android

Android Fiddler抓包

2017-05-25  本文已影响264人  三季人

什么是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_http_proxy.png

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) 手机代理设置

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

这里使用的是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、帮助

两种模式

回话面板

回话面板.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 中有三个比较厉害的

inspector.png

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

bpafter /foo

模拟1.png

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

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

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

自动化1.png

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

模拟请求1.png

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

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

Response 中常用也列三个吧

最后附上Fiddler官方文档

上一篇下一篇

猜你喜欢

热点阅读