美文网首页
Charles抓包教程

Charles抓包教程

作者: 夫天地者万物之逆旅也 | 来源:发表于2020-04-06 12:54 被阅读0次

    一、Charles抓取http

    1. 配置Charles的proxy端口号

    路径: Proxy --> Proxy Settting ---> Proxies

    这个端口要与手机配置端口一致,一般都是 8888


    2. 查看本机的IP地址

    方法一:直接在Charles上查看

    Help --> Local IP Address

    l

    右边的就是IP地址啦

    方法二 :终端命令

    Mac端: ifconfig

    windows: ipconfig

    (无图)

    3. 配置手机代理

    注意:手机与电脑必须要统一局域网,比如连接同一个WIFI

    配置代理:

    长按WiFi,然后修改网络

    然后代理设置成手动

    代理服务器主机名      填写刚刚查询的IP地址:192.168.x.xxx

    代理服务器端口          填写一开始设置的端口号:8888  

    然后保存

    Charles会弹出弹窗提示allow    点击allow同意

    这时候就可以http的包了

    二、Charles抓取https

    Android6.0(含6.0)及以下的:

    作者懒得贴了,因为没有机器。

    Android7.0和以上的:

    说实话,我是没有成功的,网络上那多么文章,基本没有用的。原因是证书安装后不是系统证书,自己安装的好像没用。当然root后的手机可以。

    下面提供一个方法:仅供参考

    解决方案:

    确保已正确安装证书, Charles已配置好

    使用apktool对apk进行反编译 1apktool d example.apk

    修改AndroidManifest.xml配置文件, 在application节点添加一行代码: 1android:networkSecurityConfig="@xml/network_security_config"

    新增res/xml/network_security_config.xml配置文件, 内容为下(替换example.com为你要对此APP进行抓包的域名): 12345678      example.com                 

    使用apktool进行编译 1apktool b example

    使用ApkSign对第4步编译后的apk进行签名 1java -jar signapk.jar certificate.pem key.pk8 example.apk example.sign.apk

    安装第5步的apk进行抓包吧

    当然你是抓自己开发的app,在AndroidManifest添加相关代码,和相关文件就可以抓了。(PS:我为什么要抓自己的包啊!!!)

    提供官方链接:SSL Certificates • Charles Web Debugging Proxy

    Android

    As of Android N, you need to add configuration to your app in order to have it trust the SSL certificates generated by Charles SSL Proxying. This means that you can only use SSL Proxying with apps that you control.

    In order to configure your app to trust Charles, you need to add a Network Security Configuration Fileto your app. This file can override the system default, enabling your app to trust user installed CA certificates (e.g. the Charles Root Certificate). You can specify that this only applies in debug builds of your application, so that production builds use the default trust profile.

    Add a fileres/xml/network_security_config.xml to your app:

    Then add a reference to this file in your app's manifest, as follows:

    <?xml version="1.0" encoding="utf-8"?><manifest ... ><application android:networkSecurityConfig="@xml/network_security_config" ... >

    ...

    </application></manifest>

    相关文章

      网友评论

          本文标题:Charles抓包教程

          本文链接:https://www.haomeiwen.com/subject/isbddhtx.html