手机抓包charles使用

使用的是charles-window。之前使过fiddler但是感觉并没有charles好用以及一目了然。

链接: https://pan.baidu.com/s/1NMNXa8M4niLObQKIsCNL3A 提取码: 2wsa 

安装包可以通过连接下载,官网的下载速度简直慢到......下载完正常安装就可以。

操作流程

1:配置charles

    设置不代理计算机的请求

     proxy ->取消勾选 windows proxy (勾选则抓取计算机的请求)

     

 

  设置代理https并添加证书

    https的请求需要添加证书,无论是charles还是手机端都需要安装证书。

     1.设置charles

    proxy -> SSL Proxy Settings 弹出一个 ssl代理设置界面 

    

    勾选Enable SSL Proxying,点击Add添加需要抓包的host,添加默认端口号443。

   还是当前弹窗,选中Client Certificates,添加域名的证书,操作一样。

  •  关心域名的重点显示,在抓包的时候域名会背景黄色重点显示

    View -> Foucused Hosts 用于设置重点关心域名,在列表中会独立显示

添加域名和之前操作一样。

  • 安装charles证书

     Help -> ssl proxy -> Install Charles Root Certificate

      

点击“安装证书”

 

之后就点下一步完成就可以了。以上pc端的证书配置完成,接下来配置手机端。

查看手机端所需配置

Help -> ssl proxy -> Install Charles Root Certificate on a Moblie Device or Remote Browser

1,可以看到一个弹窗给出了手机端需要配置的域名和端口,域名就是172.xxx.xx.117,端口号就是8888。接下来配置手机中的wifi设置,需要电脑和手机连接同一个wifi,在手机端中修改当前wifi设置,将代理选择手动,服务器主机名填入域名,服务器端口输入8888。手机域名配置完成

2,打开浏览器输入“chls.pro/ssl”回车会进入charles证书下载,加载之后是一个.pem文件,需要重命名更成成.crt后缀,这是手机端的证书安装包,直接打开安装即可,证书的名称可以自己命名。注:.pem文件保留下来,后面需要用到。

 

****正常来说步骤到现在一般的抓包就完成了,但是如果你的手机是安卓7以后的版本,就会失败 一直是“unknow”。应用程序不再信任用户或管理员添加的CA用于安全连接。

 

解决办法:

配置文件中添加:

  <application
       ...
        android:networkSecurityConfig="@xml/network_security_config"
      >

在res/xml中添加“network_security_config.xml”文件。

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true" />
    <domain-config>
        <domain includeSubdomains="true">api.xj.mydeertrip.com</domain>//需要抓包的域名
        <trust-anchors>
            <certificates src="@raw/charles"/>//手机中下载的.pem格式证书文件 名称 
        </trust-anchors>
    </domain-config>
</network-security-config>

其中charles是.pem文件名,就是手机中下载的.pem证书文件放入工程的res/raw文件夹中即可。

此时在安装app即可发现charles有报文了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章