Android 真机 Https Charles 抓包

工作需要,同事叫帮忙抓一个广告请求的 Request, 很简单的事情最后也搞的比较麻烦。记录一下,可能的话,希望为后来者提供便利。

个人的例子为,在安卓手机上安装自己简单写的Demo APP,在加载广告的时候,观察某个合作伙伴的广告请求是否正常。电脑使用为 Mac

1. 首先安装 Charles, 下载地址,正常安装即可:

https://www.charlesproxy.com/download/latest-release/

2. 设置 Charles:

打开 Charles, 关闭 Proxy -> MacOs Proxy (此功能为抓取 Mac 电脑上的流量)

打开 Proxy -> Proxy Setting -> Enable transparent HTTP proxying (打开 Http 代理), 并填写端口,理论上随便填,建议 8888

因为要抓取 Https 的流量,故需要设置 Proxy -> SSL Proxying Settings,勾选 Enable SSL Proxying 并在 SSL Proxying 中将手机IP设置添加,也可以设置 * 允许所有客户端IP,端口填写 443(Https 端口)

3. 电脑安装 Charles 证书

此为Mac下的添加方式, Windows 暂不了解

Help -> SSL Proxying -> Install Charles Root Certificate, 在打开的设置中心中找到 Certificate, 再找到 Charles 证书, 双击其证书,可以打开证书详情,选择信任即可 (Always Trust)

至此电脑端设置完成,为了抓取traffic, Android 手机端也需要做两件事:

1. 连接 Charles 代理

首先保证手机与电脑在同一路由下,即同一 Wifi 下, 长按Wifi名,修改网络,高级 -> 代理 -> 选择手动设置代理,

此时有几个选项需要填写,这里只需要填写 端口 与主机名 即可,主机名填写电脑的IP,端口填写上面自己设置的端口,有个小技巧是,打开Charles, Help -> Install Charles Root Certificate On a mobile device or Remote browser, 其会出现一个对话框,上面有IP名与端口号, 类似于:

Configure your device to use Charles as its HTTP proxy on 192.168.3.2:8888, then browse to chls.pro/ssl to download and install the certificate.

192.168.3.2 即为 IP 名, 8888 即为端口号。

连接成功后,Charles 上会弹出一个对话框,显示 XXX 设备尝试连接Charles,是否允许,选择允许即可。

2. 手机安装证书

手机连接 Charles 代理后,打开Charles, Help -> Install Charles Root Certificate On a mobile device or Remote browser, 按要求,在手机端任意非自带浏览器输入 chls.pro/ssl 即可,其会自动开始下载证书,下载完成点击安装即可。安装过程中会要求输入证书名,输入任意字符串即可,建议 Charles。

安装成功后,可以在设置-> 证书 -> 用户证书中找到,IOS 设备需要另外设置相信证书。

理论上,完成上述就可以开始愉快的抓包了,不过越简单越容易出问题,遇到的问题:

1. 手机无法连接 Charles

相关设置后,死活连接不是Charles, 个人发现问题可能是由于家里使用电视机顶盒Wifi,并没有独立路由(具体原因不清楚,待研究),后面通过另外一部手机发送热点,电脑与测试设备连接该热点把这个问题解决了,这个问题应该不常见。

2. Https 抓包显示 Unknow

全部搞定了,然而Https 抓包信息依然 unknow, 网络大部分都说是证书问题,然而我们信任了证书呀,后面发现 Android 7.0 以上对用户证书添加了限制,需要在 Android 层添加修改:

因为 APP 为自己写的,故可直接配置 Network Security Configuration,官网介绍

简述配置如下:

添加如下文件 res/xml/network_security_config.xml  内容:

之后在 Application 节点下设置: android:networkSecurityConfig="@xml/network_security_config" 

本人在APP 设置该配置后,便可以愉快的抓 Https 包体了, 简书上找到另外一篇文章其第五部分关于这里讲的挺详细,链接如下:

https://www.jianshu.com/p/3b4cd6fdd8a9

写下此文,作为笔记,纪念多折腾的几个小时

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容