资讯专栏INFORMATION COLUMN

抓包分析安卓手机的HTTPS请求

church / 2907人阅读

摘要:工具和资料群高级爬虫作者自建群,欢迎加入作者收集的爬虫相关工具和资料抓包流程为了实现对安卓手机或模拟器的网络请求抓包,简单流程为电脑上安装等抓包工具,其原理就是一个代理服务器。

工具和资料

QQ群 - Javascript高级爬虫 - 作者自建群,欢迎加入!

awesome-java-crawler - 作者收集的爬虫相关工具和资料

HTTP抓包流程

为了实现对安卓手机或模拟器的网络请求抓包,简单流程为:

电脑上安装Fiddler等抓包工具,其原理就是一个HTTP/HTTPS代理服务器。注意需要允许远程电脑连接

确保电脑和安卓手机在同一个子网中,互相能够PING通。比如:可以连接同一个WIFI热点,或者用电脑给手机开热点都可以

在手机的WLAN设置中,设置WIFI代理,指向电脑的IP和抓包工具的端口,比如:192.168.122.101:8888

这个时候,如一切正常,HTTP代理就已经可以工作了,可以在手机浏览器里访问HTTP站点,看看抓包工具中是否有反应。

HTTPS抓包原理

HTTPS抓包就要麻烦一些了,要知道HTTPS的报文是加密的,主要防的就是在网络传输中间环节做手脚。

不过抓包工具可以用中间人方式(Man-In-The-Middle)方式来解析HTTPS报文,大概原理是对访问者假装自己是目标网站,对目标网站假装自己是访问者,

这需要访问者信任这个中间人签发的(伪造的)网站证书,具体做法是将抓包工具提供的根证书添加到系统的“受信任的根证书颁发机构”中去。

在电脑上比较简单,打开"Fiddler设置->HTTPS面板":

选中"Capture HTTPS CONNECTs", "Decrypt HTTPS traffic", "Ignore server certificate errors(unsafe)"

点击右面的Actions按钮,选择"Trust Root Certificate"即可

在Android中安装根证书

但是在安卓系统中就要自己动手安装根证书了,下面梳理一下整个过程:

前提

Android 4.4及以上

手机已经root,则可以安装为系统证书,否则只能安装用户证书
区别在于:用户证书会要求手机必须有锁屏密码

adb连接手机正常

安装为用户级别证书

把证书文件 .crt/.cer下载到内部存储,比如/sdcard

文件管理器打开文件,会自动打开证书管理应用,给证书起个名字即可导入,另外需要设定屏幕解锁密码

打开 设置 -> 安全和隐私 ->凭据存储 -> 用户 可以查看安装的证书

对于Fiddler有个更简便的办法:

打开手机浏览器,访问 http://ipv4.fiddler:8888/

打开的页面最下面的链接:You can download the Fiddler certificate,点击即可下载安装证书,步骤和从文件安装一致

安装为系统级别证书 把证书文件转换为Android可识别格式

确定文件名。我这里安装了两个不同工具的证书,即Fiddler和LittleProxy-MITM,它们的证书格式不同,因此使用的命令也略有不同。
openssl x509 -inform DER -subject_hash_old -in FiddlerRoot.cer
openssl x509 -inform PEM -subject_hash_old -in littleproxy-mitm.pem
把输出的第一行的8位hex字符串保存下来,比如269953fb,最终的证书文件名则为269953fb.0

转换证书文件格式
openssl x509 -inform DER -in FiddlerRoot.cer -text > 269953fb.0
openssl x509 -inform PEM -text -in littleproxy-mitm.pem > 4bb9877f.0

编辑输出的文件,把"-----BEGIN CERTIFICATE-----"到文件结束这部分移动到文件首部

安装证书

把证书文件复制到手机内部存储。adb push后第一个参数是证书文件在电脑上的路径,第二个是手机内部存储的路径
adb push path/to/269953fb.0 /sdcard

从内部存储复制到系统证书目录。adb shell启动命令行交互,su获取超级用户权限,mount将/system目录重新挂载为可读写,最后执行复制

adb shell
su
mount -o remount,rw /system
cp /sdcard/269953fb.0 /system/etc/security/cacerts/

修改文件权限。

cd /system/etc/security/cacerts/
chmod 644 269953fb.0

用ls命令检查文件权限是否正确。下面一行是期望的输出。

ls -alZ
-rw-r--r-- root root u:object_r:system_file:s0 5ed36f99.0

重启设备

打开“设置->安全和隐私->凭据存储->系统”可以查看安装的证书。

验证

手机浏览器打开HTTPS站点,看抓包工具中是否可以正常解析HTTPS报文。

参考

详细过程:http://wiki.cacert.org/FAQ/Im...

不同扩展名的证书文件具体介绍及相互转换:https://blog.csdn.net/xianggu...

openssl x509命令详解:https://www.openssl.org/docs/...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/14541.html

相关文章

  • 使用wireshark进行数据链接层抓包分析——流量分析(一)

    摘要:哈,这是在写的第一篇博客文章,祝好技术安全前端互联网二次开发今天疯了般地弄了数据链路层分析应用层网站流量导向分析有关的东东先来说说这个数据链接层的分析,限于篇幅和类型,明天再写第二篇。拼接若干次还是返回,那还是抓包分析吧。 哈,这是在segmentFault写的第一篇博客文章,祝好! tags: 技术, wordpress, DIY, SEO, 安全, 前端, 互联网, 二次开发 今...

    rose 评论0 收藏0
  • 使用wireshark进行数据链接层抓包分析——流量分析(一)

    摘要:哈,这是在写的第一篇博客文章,祝好技术安全前端互联网二次开发今天疯了般地弄了数据链路层分析应用层网站流量导向分析有关的东东先来说说这个数据链接层的分析,限于篇幅和类型,明天再写第二篇。拼接若干次还是返回,那还是抓包分析吧。 哈,这是在segmentFault写的第一篇博客文章,祝好! tags: 技术, wordpress, DIY, SEO, 安全, 前端, 互联网, 二次开发 今...

    marser 评论0 收藏0
  • 使用wireshark进行数据链接层抓包分析——流量分析(一)

    摘要:哈,这是在写的第一篇博客文章,祝好技术安全前端互联网二次开发今天疯了般地弄了数据链路层分析应用层网站流量导向分析有关的东东先来说说这个数据链接层的分析,限于篇幅和类型,明天再写第二篇。拼接若干次还是返回,那还是抓包分析吧。 哈,这是在segmentFault写的第一篇博客文章,祝好! tags: 技术, wordpress, DIY, SEO, 安全, 前端, 互联网, 二次开发 今...

    vvpale 评论0 收藏0
  • charles抓包工具粗略使用指南

    摘要:常用的抓包工具有当然还有其他的工具我三个都用过不过太复杂了不是太懂用抓到的信息太详细了反而不是太容易分辨找出自己想要的内容其实是因为懒懒的学并且对网络知识了解较少境界不够境界到了自然会用我一般都是开发的时候用到抓包工具开发网页自带的就已经很 常用的抓包工具有fiddler,charles,wireshark(当然还有其他的工具)我三个都用过,不过wireshark太复杂了,不是太懂用,...

    felix0913 评论0 收藏0
  • 安卓手机微信7.0.4调试小程序抓包https请求失败问题和解决

    摘要:注意阅读本文需要一台已经的安卓手机说明系统手机小米已抓包工具微信版本现象安卓手机无法通过代理抓包请求,我前天年月日用的不知道为什么能抓到,昨天手残更新到就不行了。 注意:阅读本文需要一台已经root的安卓手机! 说明 系统:MacOS 10.13.6 手机:小米6(已root) 抓包工具:Charles 微信版本:7.0.4 现象 安卓手机无法通过Charles代理抓包https请求,...

    neroneroffy 评论0 收藏0

发表评论

0条评论

church

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<