详细Fildder抓包Android教程

详细Fildder抓包Android教程
你需要的设备:

  • 一部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,然后你的桌面上就会出现。

详细Fildder抓包Android教程

那么我们就安装完成了!

2. 配置Fidder选项

双击打开我们的fidder软件,会看到如下的界面:

详细Fildder抓包Android教程

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

详细Fildder抓包Android教程

我们先大致了解一下,整个软件界面可以分为五个部分

  1. 菜单栏,每个软件都有,没什么好讲的
  2. 常用工具栏,一些常用的工具固定在此栏
  3. 抓到的地址信息
  4. 各种详细信息及详细信息切换栏
  5. 对应4中所切换的具体详细信息显示视图区域

大家也不用所有的都细致的去了解,你特别需要用到的时候再去查相关的功能就好了!

就用fidder对Android设备进行抓包而言,我们需要进行如下配置

  1. 点击上图中1菜单栏中的tools–》optional
    进入如下界面,勾选【Capture HTTPS CONNECTS】

详细Fildder抓包Android教程

这是为了截获Https的请求

  1. 点击Connections选项,然后勾选【Allow remote computers to connect】

详细Fildder抓包Android教程

勾选过后会有个提示框,点击确认就好了。
然后需要将软件退出然后重启才会生效。

这是为了能够捕获远程设备(在这里也就是我们Android手机)上的请求而勾选的。(IOS手机的抓包应该也是同理的,只是我没有测试)

到这里我们的fiddler软件就已经基本完成了配置过程!

二、配置Android手机

首先要确保你的手机和你抓包的电脑在同一个路由下面,比如我的手机和电脑都连接着我的小米路由器(小米的工作人员自觉在下面赞赏留言哈)。电脑用网线,手机用无线连都是可以的。

详细Fildder抓包Android教程

确定这点很重要!

1. 查看电脑的ip

win+R 打开运行框

详细Fildder抓包Android教程

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

详细Fildder抓包Android教程

找到相应的本机ip地址

2. 配置Android手机

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

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

详细Fildder抓包Android教程

三、简单的使用

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

详细Fildder抓包Android教程

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

详细Fildder抓包Android教程

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

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

四、我的实际应用

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

详细Fildder抓包Android教程

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

然后我改了一下就ok了!


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

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

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

详细Fildder抓包Android教程