学习android到一定阶段时,需要我们开始进行项目实战,这需要我们获取服务端的数据,通过抓取已经发布的应用访问的地址,我们可以对该应用进行仿制,以提高自己的技术水平

目前有HTTP和HTTPS两种链接,HTTP相对好抓取,而HTTPS则需要我们安装证书才可以

- HTTP链接 -

安装软件:官网
在Charles界面选择菜单

proxy->proxy settings

勾选 Enable transparent HTTP proxying 确定代理端口,默认”8888”就可以了

在手机的wifi节点设置里设置代理。勾选”显示高级选项”,在出现的内容填入代理主机的IP(也就是你装了Charles的机器),端口框填入刚才填的”8888”,保存如图:

android app 抓取udp协议数据包 android 抓包https_android

填写装有charles客户端的主机ip和端口

抓包结果

android app 抓取udp协议数据包 android 抓包https_HTTP_02

- HTTPS链接 -

HTTPS除了需要上述配置以外,还需要安装证书才可以
以夜神模拟器为例

1. 手机下载ssl证书

获取证书

在这一步中,也有教程是通过保存Charles中的证书,再把证书放到手机中的方法:


在线下载的方法

1).Help->SSL Proxying

2).Install Charles Root Certificate on a Mobile Device or Remote Browser… 会弹出一个提示框,里面有一个地址,在浏览器输入这个地址即可下载证书,记住要用Android自带的浏览器. 地址是:http://charlesproxy.com/getssl

大小2kb左右,在夜神模拟器中拖入后将其移动到sd卡下即可

其他的模拟器可以通过adb里面的push命令

安装证书


点击<安全>

android app 抓取udp协议数据包 android 抓包https_android_03


点击<从SD卡安装>

android app 抓取udp协议数据包 android 抓包https_ssl证书_04


点击<随便起个名字,点击确定即可>

android app 抓取udp协议数据包 android 抓包https_ssl证书_05

1. 电脑信任ssl证书

android app 抓取udp协议数据包 android 抓包https_HTTPS_06




android app 抓取udp协议数据包 android 抓包https_ssl证书_07




android app 抓取udp协议数据包 android 抓包https_ssl证书_08




android app 抓取udp协议数据包 android 抓包https_ssl证书_09