Android使用Charles sniffers network traffic

  1. 背景
    HTTPS通讯是加密的, 因此需要Man In The Middle attack. 也就是需要在通讯中加上Charles作为代理. 这样需要客户端授权Charles SSL证书.
    在Android 7.0+(API 24)的设备上, APP不再信任user or admin-added CAs, 详见此网页, 因此需要将证书安装到system CA中.
  2. 安装并破解Charles
    Charles官网
    破解工具
    或者直接使用serial keys:
    Name:TEAM MESMERiZE
    Serial:FC91D362FB19D6E6CF
    
    Name:CRACKSurl
    Serial:1959D66D1AAC0C6EA2
    
    Name:Charles
    Serial:EBD457553EFAF1BBAC
    
    Name:cracksurl.com
    Serial:3FE40E97FCA9E9697A
    
  3. 设置代理
    1. server
      Charles->Proxy->Proxy Settings
      代理
      不检测Windows的流量情况.
      Windows不用代理
    2. client
      Charles打开代理后(Proxy->Windows Proxy被选中), 在手机WiFi界面设置代理. 如果不知道的话看Help->SSL Proxying->Install Charles Certificate on a Mobile Device弹出的提示.
      Charles提示
      手机设置代理
  4. 安装证书
    1. server(据说可以省略)
      Help->SSL Proxying->Install Charles Certificate一路下一步.
    2. client安装根目录证书(参考1, 2)
      1. 先通过Help->SSL Proxying->Save Charles Root Certificate…下载cert.pem文件.
      2. 再用命令(需要bash.exe)
        CERT_ID="$(openssl x509 -inform PEM -subject_hash_old -in cert.pem | head -1).0"
        echo CERT_ID=$CERT_ID
        cat cert.pem > $CERT_ID
        openssl x509 -inform PEM -text -in cert.pem -out /dev/null >> $CERT_ID
        
        我好像第三条命令没有运行貌似也能work. 然后再把文件拷到相应目录并修改权限.
        adb root
        adb remount
        adb push $CERT_ID /system/etc/security/cacerts/
        chmod 644 /system/etc/security/cacerts/$CERT_ID
        
      3. 或者Help->SSL Proxing->Install Charles Root Certificate on a Mobile Device or Remote Browser, 下载downloadfile.crt后在手机的设置→安全→更多安全设置→加密与凭据→安装证书→CA证书中安装证书
  5. Charles设置SSL捕获
    在Proxy -> SSL Proxying Settings…添加*.*
    SSL capture
  6. 大功告成., 开始capture
  7. Possible Problems
    1. 启动软件时提示Failed to bind proxy port 8888: Address already in use: JVM_Bind.
      按照建议, 在CMD输入命令netstat -aon | findstr "8888", 最后一列为进程ID(23956), tasklist | findstr "23956"即可得到占有端口的进程.
    2. 手机无法联网
      在Windows上, 高级安全Windows Defender防火墙(cmd→wf.msc)中添加入站规则: Charles Web Debugging Proxy, 公用, 允许连接, UDP和TCP.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值