你需要的设备:

* 一部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
<https://www.telerik.com/download/fiddler/fiddler4>

点击下载 <https://telerik-fiddler.s3.amazonaws.com/fiddler/FiddlerSetup.exe>

和安装一般软件一样一路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手机

关于手机的配置总共有这样六步:
1. 连接同一个路由的wifi
2. 打开wifi高级选项
3. 开启手动http代理
4. 配置代理服务器主机名(上面带大家找到电脑的ip地址)
5. 配置服务器端口fidder的默认端口8888(如果你前面没有改那就是他了)。
6. 保存完成了

当然我还用我的锤子手机(老罗,下次跟我合个影,广告费就不要了)。给大家录制了一个gif图。



三、简单的使用


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



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



左边是我的手机在电脑上的投影。右边是fiddler软件
软件的左边是抓到的所有链接,其中蓝色那一条就是被我选中产看请求详情的链接


fiddler软件右边的信息就是选中链接的详情了,上面是请求的内容,下面是返回的内容,大家可以看到,我是选择了imageView来进行查看的,所以能够直接看到该链接请求到的图片。

四、我的实际应用

前一两天我在和服务器调试上传图片,服务器自己写的demo页面能够上传成功
而我的始终都不能成功于是我就抓了demo和我的app请求的报文!



上图展示的是我从fidder软件界面右边视图4的位置里面的raw选项中的数据!
然后通过对比发现,我传图片时的Content-Type和Demo的不一样!

然后我改了一下就ok了!


好了这个软件抓包教程就先介绍到这里吧,当然肯定还没有完,不是还有很多其他的按钮没有介绍吗,那不妨你自己去点一点。看一看如果你点击json会有什么,点击xml会有什么?软件右上放还有个filter复选框,感觉像是过滤,你要不要去试试!

其实介绍到这里,剩下的内容,你自己去探索会学的更快一些!交给你了!

如果你喜欢欢迎关注我的微信公众号『Android程序员日记』


友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信