
你需要的设备:
- 一部Android手机
- 一台Windows电脑
零、写在前面
Fiddler是什么
摘自百度百科
Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。 Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式。
Android需要Fidder做什么
其实Fidder就是一个款目前市面上非常常用的抓包工具,所以我们用它自然是抓包了,不过我们抓包有时为了什么?
就我个人目前用的而言有以下几个目的:
- 在和服务器调试时,可以帮我们查看到数据在传输过程中的形式及内容。便于我们和服务器调试。
- 在学习类似Retrofit或者Okhttp等开源的网络框架时,我们也可以通过抓包查看我们配置的内容有哪些地方的更改
- 和上面一点差不多,就是对于我们学习真个http的网络协议都是有帮助的。
如果你还有其他的妙用,欢迎留言!
说了这么多我们开始吧!
一、配置Fidder
1. 下载Fidder
fidder官网:https://www.telerik.com/download/fiddler/fiddler4
和安装一般软件一样一路next最后finish,然后你的桌面上就会出现。

那么我们就安装完成了!
2. 配置Fidder选项
双击打开我们的fidder软件,会看到如下的界面:

我使用的版本是4.6的,是我写博客时的最新版本!

我们先大致了解一下,整个软件界面可以分为五个部分
- 菜单栏,每个软件都有,没什么好讲的
- 常用工具栏,一些常用的工具固定在此栏
- 抓到的地址信息
- 各种详细信息及详细信息切换栏
- 对应4中所切换的具体详细信息显示视图区域
大家也不用所有的都细致的去了解,你特别需要用到的时候再去查相关的功能就好了!
就用fidder对Android设备进行抓包而言,我们需要进行如下配置
- 点击上图中1菜单栏中的tools--》optional
进入如下界面,勾选【Capture HTTPS CONNECTS】

这是为了截获Https的请求
- 点击Connections选项,然后勾选【Allow remote computers to connect】

勾选过后会有个提示框,点击确认就好了。
然后需要将软件退出然后重启才会生效。
这是为了能够捕获远程设备(在这里也就是我们Android手机)上的请求而勾选的。(IOS手机的抓包应该也是同理的,只是我没有测试)
到这里我们的fiddler软件就已经基本完成了配置过程!
二、配置Android手机
首先要确保你的手机和你抓包的电脑在同一个路由下面,比如我的手机和电脑都连接着我的小米路由器(小米的工作人员自觉在下面赞赏留言哈)。电脑用网线,手机用无线连都是可以的。

确定这点很重要!
1. 查看电脑的ip
win+R 打开运行框

然后输入cmd点击确认,打开命令行輸入ipconfig

找到相应的本机ip地址
2. 配置Android手机
关于手机的配置总共有这样六步:
- 连接同一个路由的wifi
- 打开wifi高级选项
- 开启手动http代理
- 配置代理服务器主机名(上面带大家找到电脑的ip地址)
- 配置服务器端口fidder的默认端口8888(如果你前面没有改那就是他了)。
- 保存完成了
当然我还用我的锤子手机(老罗,下次跟我合个影,广告费就不要了)。给大家录制了一个gif图。

三、简单的使用
关于适用教程,其实这个就很简单了,你前面如果都配置好了,那么只要你在手机上打开浏览器浏览一个网页,fidder软件左边就自动出现了你所以请求的所有连接!大家也可以看一下我为大家录制的gif图

这就是上面的抓包过程抓到的访问锤子官网时的所有请求,请求轮播图的一个链接:

左边是我的手机在电脑上的投影。右边是fiddler软件
软件的左边是抓到的所有链接,其中蓝色那一条就是被我选中产看请求详情的链接
fiddler软件右边的信息就是选中链接的详情了,上面是请求的内容,下面是返回的内容,大家可以看到,我是选择了imageView来进行查看的,所以能够直接看到该链接请求到的图片。
四、我的实际应用
前一两天我在和服务器调试上传图片,服务器自己写的demo页面能够上传成功
而我的始终都不能成功于是我就抓了demo和我的app请求的报文!

上图展示的是我从fidder软件界面右边视图4的位置里面的raw选项中的数据!
然后通过对比发现,我传图片时的Content-Type和Demo的不一样!
然后我改了一下就ok了!
好了这个软件抓包教程就先介绍到这里吧,当然肯定还没有完,不是还有很多其他的按钮没有介绍吗,那不妨你自己去点一点。看一看如果你点击json会有什么,点击xml会有什么?软件右上放还有个filter复选框,感觉像是过滤,你要不要去试试!
其实介绍到这里,剩下的内容,你自己去探索会学的更快一些!交给你了!
如果你喜欢欢迎关注我的微信公众号『Android程序员日记』

网友评论
total Control的官网:http://tc.sigma-rt.com.cn/
LICEcap的百度网盘:链接:http://pan.baidu.com/s/1o7JIW8E 密码:jcr2