Charles开启代理抓移动设备的数据包显示unknown解决方案

Charles开启代理抓移动设备的数据包显示unknown解决方案 一、问题charles开启代理服务手机开启代理连接到charles端口借助电脑上网。charles抓取到数据包全部显示unknown且第一列为×。二、解决方案手机上不要随意选择APP启动如京东等。此类软件不信任用户自己安装到手机上的证书。可以启动浏览器不能启动QQ浏览器访问百度网站抓取到的结果同样是unknown和×访问www.baidu.com网站这时可在charles看到解析出来的数据包。点击Sequence下图 左上角菜单栏下两个图标内的第二个图标选中百度请求可看到发送的请求内容与接收到的响应数据如下图。说明抓包成功。三、利用charles抓取手机上的数据包具体步骤如下1、查询代理端口打开charles点击Proxy-Proxy settings-Proxies查看到端口port为8888每个人的端口号可能不一样按照charles默认的端口号来。2、查询本机IP输入cmd打开本机命令行如果为Windows操作系统输入ipconfig查看本机IP如果为MacOS/Linux操作系统输入ifconfig查看本机IP。3、Charles开启代理服务回到charles内若为Windows操作系统点击Proxy可以看到Windows Proxy前面已经有勾说明代理自动开启若为MacOS/Linux操作系统点击Proxy-MacOS Proxy手动开启代理。4、手机开启代理服务打开手机wifi确保手机wifi与电脑WiFi连接的是同一个。点击手机wifi查看详情将代理改为手动主机名填入步骤2查到的本机IP端口填入步骤1查到的端口号。保存配置。此时charles跳出弹窗询问是否允许来自手机ip的连接点击Allow。如果不小心点击了Deny在菜单栏点击Proxy-Access control settings手动添加手机ip手机ip可在wifi详情页看到。5、手机安装证书回到charles点击菜单栏Help-ssl proxying-install Charles Root Certificate on a mobile device or remote browser。弹出下面的弹窗。弹窗相当于开启一个服务为手机提供安装证书的网址因此在手机没有安装完证书前不能关闭或者点击确定手机中点击浏览器输入弹窗中网址chls.pro/ssl。如果网址访问失败访问另一个网址charlesproxy.com/getssl访问成功后手机自动安装证书。安装成功后将其发送到QQ在QQ内将其下载到手机记住下载到的路径。手机里打开设置-安全-更多安全设置-加密与凭据-从存储设备安装-CA证书不同手机具体步操作不一样总之想办法找到加密与凭据点击仍然安装输入锁屏密码在QQ文件夹内找到步骤6下载到手机的.pem证书。如果找不到退出设置将其后台关闭重新进入重复上述操作选中证书显示安装成功。回到charles找到之前的弹窗点击确定。6、本机安装证书charles内点击菜单栏Help-ssl proxying-install Charles Root Certificate点击安装证书-本地计算机-下一步-将所有的证书都放入下列存储点击浏览选择受信任的根证书颁发机构勾选显示物理存储区(S)点击确定。显示导入成功。此时手机访问http协议charles能够抓到数据包。7、Charles抓取https协议charles菜单栏点击Proxy-Recording settings-include点击添加规则到location选择协议为https主机和端口都填入*点击Done。添加成功点击Done。显示结果如下8、Charles保证对所有域名、所有端口的 HTTPS 流量进行 SSL 解密charles菜单栏点击Proxy-SSL proxying settings-SSL proxying点击添加规则到location主机和端口都输入*表示任意IP和任意端口点击Done。显示结果如下9、抓包配置完成。手机上启动APP即可在charles内抓取到对应数据包。不要启动淘宝之类的APP。要测试配置是否成功可以启动浏览器尝试访问百度10、抓包完成后关闭手机上的wifi代理并将手机里的证书删除手机里打开设置-安全-更多安全设置-加密与凭据-受信任的凭据-用户可看到文件XK72 Ltd如下图。点击该文件将其删除。