教你Android抓包(Fiddler)
前言
前排提醒:本文适用于没有接触过的小白。如果是大佬的话就没有必要浪费时间看本文了。
之前想自己写个Demo,可是苦于没有API。上网找了很久,也没有自己想要的,于是就想自己拦截看看,据我所知的拦截网络请求的方法除了青花瓷以外就是Fiddler了。所以就有了这篇文章。这篇文章主旨是写一个项目。之后还会在写一些相关的文章,不过就是不知道要多久之后了。好了废话不多说。进入正题。
1.下载安装
要抓包当然要有工具了。
下载地址:https://www.telerik.com/download/fiddler
如果官网下载不了(好像要梯子)就随便百度下载一个即可。
2.配置fiddler
-
PC端:Tools->options->https 来到这个页面,按照图中勾选
-
端口号可以按照自己的意愿配置。这里我把8888,改成了8080。配置玩后点击OK!
-
获取本机ip地址:在dos界面中输入ipconfig,找到你的ip地址,如图
-
使手机和PC在同一局域网。在手机连接wifi时,选择显示高级选项,代理选择手动。这里我的手机是华为,其他品牌手机视情况而定。在服务器主机名中填入,你PC的ip地址,服务器端口填你之前设置好的8080。
-
手机浏览器中输入,你的IP地址和端口号。例:192.168.0.103:8080。点击图中的位置安装证书。根据自己的设置安装完证书
-
这时候在运行APP,就能看到发送的请求和返回的数据了。不过需要注意的是,有的APP可以抓包,有的拦截不到
模拟器端抓包
-
手机端可以抓包,模拟器端同样可以。设置方法大体一样只是略有不同。进入设置->移动网络设置->接入点名称(APN)
-
这里会有一个默认的T-Mobile US选项。我们可以直接在T-Mobilde US中修改服务器地址和端口号,也可以自己新增一个。这里的Fiddler就是我新增的。这里要注意红框内的东西,如果新增的话要一致
-
新增Fiddler,如图。代理和端口,还是之前设置的本地ip和fiddler中的端口号。新增完了之后要注意,这里要重启一次模拟器的网络,否则会没有网!
截取HTTPS请求
有个童鞋问我能不能抓取HTTPS的请求,我一开始也没注意。后来上网查了一下,这里做下补充。不能访问HTTPS的原因是没有相关证书。
- 下载安装证书生成器
证书地址: http://www.telerik.com/docs/default-source/fiddler/addons/fiddlercertmaker.exe?sfvrsn=2 -
生成证书。
-
将桌面的FiddlerRoot.cer(生成的证书)放到手机中安装。(我的是华为的)
- 刚刚抓取的简书的请求。图中就是那个童鞋问我的内容。
![请求.png](https://upload-images.jianshu.io/upload_images/5872452-3168b8354bdd2140.png?im
结束语
至此,手机端和模拟器的抓包过程就全都完事儿了。大家可以自行去试试了。
感谢各位亲。至此,感谢!如果喜欢作者的话可以点波关注。要是喜欢本文的话也可以点个喜欢!风里雨里在这里等你。哈哈,感谢!