小米6(安卓9)https(ssl)抓包实战

测评几种方法和坑

Posted by 浅唱 on August 16, 2019

前言

抓包在很多方面有所应用,比如常见的去广告,破解会员等等,具体自由发挥。本文测评了几种常用的软件和方法,推荐最后一个方法,敬请阅览。

电脑代理fiddler

这个方法是利用同局域网内的wifi来实现的,利用系统自带的wifi代理设置即可在电脑上看到手机上传输的数据包。 具体端口要对应下图中fiddler里面设置的端口号

  • 缺点:安装步骤比较复杂,还需要把证书进行转换再放入安卓手机的系统证书中(证书转换,过程繁琐而且没办法指定应用程序,整个手机的数据包都在fiddler中显示。使用完之后还需要删除安卓手机wifi中的代理设置,否则电脑的fiddler关闭后手机无法联网。

证书转换

步骤如下

  1. Android 支持以 .crt 或 .cer 文件格式 X.509 证书。
  2. 将.crt 或 .cer 转换为*.0文件
    1. crt格式文件
      1. openssl x509 -inform PEM -subject_hash_old -in CA_Name.crt | head -1
      2. 得到类似字符串:9a5ba575
      3. cat CA_Name.crt(或者CA_Name.cer) > 9a5ba575.0
      4. openssl x509 -inform PEM -text -in CA_Name.crt -out /dev/null » 9a5ba575.0
      5. 放入/system/ca-certificates/files/
    2. cer(非.crt)格式文件
      1. openssl x509 -inform DER -subject_hash_old -in CA_Name.cer | head -1
      2. 得到类似字符串:9a5ba575
      3. cat CA_Name.cer > 9a5ba575.0
      4. openssl x509 -inform DER -text -in CA_Name.cer -out /dev/null » 9a5ba575.0
      5. 放入/system/ca-certificates/files/
  3. 实际测试,可能会报错,可能后缀对应的格式不正确,报错后不管格式,DER 换成PEM 试试

手机免root抓包软件(packet capture)

这款算是比较常见常用的https抓包软件。 有着免root的优势,原理是将证书装入用户信任凭据,再利用手机自带的VPN代理将流量交由软件来处理,可以抓到大部分的网页的数据包,但是对于一些第三方APP就无能为力了。有些软件加入了防代理措施(一般是检测到VPN连接自动关闭软件),这款软件就无法使用了。作者曾经使用这款软件很长时间,直到今天找到更好的抓包软件才将它卸载掉。

手机抓包软件httpcanary

今天在摸索如何抓第三方软件中的https链接,由于作者的手机是安卓9的系统,因此用户信任凭据对其他的应用是无效的,可以使用方法1电脑fiddler抓包来实现,但是作者觉得太过于麻烦,不值得。于是在网络上搜索,结果发现了这款软件。
这款软件的最新版可以在酷安上下载,高级版需要支付28元人民币,下方会提供2.8.1破解版的下载地址供大家使用,可以进行重发数据包,破解版需要手动导出系统证书并复制到系统中。
这款软件可以在设置中直接把证书设置为系统证书 非常的方便,大部分的数据包可以直接在手机上抓到和分析了,但是如果有防代理措施(一般是检测到VPN连接自动关闭软件)的话还是需要使用到方法1的电脑抓包。

破解版httpcanary2.8.1下载地址

百度网盘 提取码: ls95
蓝奏云