一、Charles手机抓包设置

第一步:设置Charles为允许状态,并设置好接入的接口

在Charles的菜单栏选择“Proxy”->“Proxy Settings”,填入代理端口8888(⚠️这个端口不一定填写8888,也可以写别的端口),☑️上“Enable transparent HTTP proxying”第一步就完成了。如下图:

如果端口设置成8888,当手机连接代理时填写的端口要跟该设置的端口一样

第二步:找出Charles电脑的ip

法1:在Charles菜单栏选择“Help”->“Local IP Address”,就会出现Charles所在电脑的ip。如下图:

法2:获取IP地址也可以在cmd中输入ipconfig。IPv4

第三步:将端口号和IP配置到手机中并完成配对

注意事项:手机和电脑需要连接的是同一个WIFI

手机上的操作(设置代理时找到的代理因手机而异,并不是全部都是长按):

打开手机“设置”->“WLAN”,选中当前连接的Wi-Fi名长按选择“修改网络”,在高级选项中找到代理,选择手动配置代理,将第一步的端口号填到“端口”,第二步获取到的ip填写到“主机名”,点击保存。(注意:经常出现一个现象,很多时候抓包完后手机代理忘记关闭,第二天测试时发现手机无法访问网络,测试人员可能还以为接口出现问题,然后让开发者找原因,结果捣腾到后面代理未关。)

最后,打开手机任意需要网络的程序,电脑端Charles就会出现一个手机端请求连接的确认弹窗,点击允许(allow)即配对成功,现在开始可以用手机抓包了哦~(其实我电脑配对成功了,但并没弹这个窗口)。

到此为止可以抓到http,如果想抓https,需要下载安装证书。

第四步:下载安装证书

1.电脑端:按下图操作

点击“安装证书”,在点击“下一步”,设置如下,后面再点击下一步,最后点击确定。

点击上图的“完成”,会弹窗提示“导入成功”

2.手机下载ssl证书

1)手机端安装证书:按下图操作

弹窗后点击“确定”

2) 手机浏览器输入网址:http://charlesproxy.com/getssl  或则  chls.pro/ssl,即可下载完后自动安装证书到手机端,若证书安装失败可往下看第二大点的 “问题三”。

完成了以上步骤就可以抓到https请求的数据了,如抓到穿山甲广告的请求和响应的数据,效果图如下(穿山甲想要的抓包数据就是两个绿色方框内容):

其他配置(便于查找数据):

1.只想查看手机的记录

菜单栏选择“proxy”——>"windows proxy"默认是勾上的,去掉勾就可以了

2.只想看某个域名抓包数据,在Filter过滤域名

二、Charles手机抓包遇到的问题和解决方法

问题一:Charles打开后无法打开网页。

原因1:查看是否勾选了Charles菜单栏 ——> Tools ——> Allow List...

解决方法:Enable Allow List前面的方框不能勾选

原因2:电脑开了代理

解决方法:电脑代理关闭

...也许还有其他原因,但我并未遇到,欢迎补充

问题二:手机可以访问网页,测试我们自己app时发现访问不了接口

解决方法:项目的清单文件中设置android:networkSecurityConfig="@xml/network_config"

network_config的内容:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config><base-config cleartextTrafficPermitted="true"><trust-anchors><certificates src="user" /><certificates src="system" /></trust-anchors></base-config>
</network-security-config>

问题三:证书下载后,不能安装

解决方法:证书的后缀名是pem,部分手机并不能识别后缀名为.pem的证书,此时需要找到下载证书的位置,把下载到的证书重新命名后缀名改成.cer。再点击证书会自动安装,安装后弹出一个命名证书的窗口,命名一下即可。(若没有屏保密码,此过程会提示需设置屏保密码,根据提示设置即可,设置的密码可得记得,不然后面手机解不了锁)

备注:部分手机直接点击证书是不能自动安装的,(如:OPPO A5)安装证书需在“设置”——>“其他设置”——>“设备与隐私”——>“从存储设备安装证书”——>找到下载证书所在的文件夹,点击证书进行安装(注意:有些人到这步卡住了,发现页面提示:无任何文件,亲,请点击左上角的三条横杆进行查找证书,整个抓包过程细节非常多,一不小心就掉到坑里了抓包失败)

问题四:抓包的域名下 全部是unknown,右侧出现了乱码

解决方法:菜单栏中选择“Proxy”——>"SSL proxying settings"——>"Add"——>全部填*——>再点击OK,记得勾选“Enable SSL Proxying”前面的方法,填上 *:443 和 *:*

Add后的效果

如果还是出现unknown错误,请检查证书是否失效或则未安装,若是手机上安装的证书时间比较久远,请清除凭据再重新安装一下。

安装好之后要设置信任该证书,不然抓包仍会显示unknown类型。

问题五:charles抓取手机APP,配置正确检查没有以上问题却抓不到数据

1.添加代理ip范围,在此可把0.0.0.0/0添加进去,也可添加自己手机的IP地址,按以下图片步骤把手机ip地址添加进去

2、若还是失败,确认一下电脑的防火墙是否是关闭状态(所有的防火墙都需要关闭)

勾选关闭防火墙

问题六:打开Charles,手机连接上代理后无法访问网络,可试一试下面的方法

解决方法:

1.检查电脑防火墙是否关闭(确认防火墙是关闭状态)

2.检查手机代理的“主机名”和“端口”是否正确

3.Charles是否开启了黑名单白名单,都把其关闭

4.再次操作本文章第一大点的“第四步:下载安装证书”

5.有些设置可能没生效,重启一下Charles

抓不到数据其他补充:

第一大点的中的“第一步”设置的端口号8888被占用了,查看端口号被占用和关闭正在占用的端口进程,可参照以下文章。

CSDNhttps://mp.csdn.net/mp_blog/creation/editor/120900852

Charles4.6.2版本手机抓包设置,抓包失败的解决方法详解相关推荐

  1. 华为系统更新后sim无服务器,华为手机系统更新后太卡怎么办? 原因及解决方法详解...

    1.系统顿卡的原因有: 系统升级后和某些软件不兼容. 系统后系统自身产生BUG: 自启动应用过多拖慢速度: 后台应用过多. 2.解决方法: 重置手机,首先我们先进行数据备份. 打开华为手机的设置-&q ...

  2. JavaSE——面向对象进阶(封装、this、static、代码块、包、权限修饰符、main方法详解)

    第2节 面向对象进阶 一.封装与private 概述: 封装的意义在于保护或者防止代码(数据)被我们无意中破坏.保护成员属性,不让类以外的程序直接访问和修改. 封装原则: 隐藏对象的属性和实现细节,仅 ...

  3. Dede后台验证码不显示解决方法详解(dedecms 5.7 UTF-8版本)

    织梦(dede)后台验证码不显示有多种可能性,我前几天测试就碰到了这个问题,结果百度搜索了一圈,挨个修改了下,还是不行,最后是在解决另外一个后台上传图片不成功的问题的时候,歪打正着的把验证码问题给解决 ...

  4. java中迭代器要导包吗_java 中迭代器的使用方法详解

    java 中迭代器的使用方法详解 前言: 迭代器模式将一个集合给封装起来,主要是为用户提供了一种遍历其内部元素的方式.迭代器模式有两个优点:①提供给用户一个遍历的方式,而没有暴露其内部实现细节:②把元 ...

  5. 手机qq浏览器怎么设置上下翻页按钮 手机qq浏览器设置上下翻页按钮的方法

    1.打开qq浏览器,点击右下角"我的". 手机qq浏览器怎么设置上下翻页按钮?手机qq浏览器设置上下翻页按钮的方法[多图] 2.点击右上角设置图标. 手机qq浏览器怎么设置上下翻页 ...

  6. Ubuntu16.04下制作deb包的方法详解

    CSDN GitHub Ubuntu下制作deb包的方法详解 AderXCoding/system/tools/build_deb 本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可 ...

  7. axios请求失败重新发起请求_vue axios请求超时,设置重新请求的完美解决方法

    //在main.js设置全局的请求次数,请求的间隙 axios.defaults.retry = 4; axios.defaults.retryDelay = 1000; axios.intercep ...

  8. 发布npm包时遇到的问题及解决方法

    发布npm包时遇到的问题及解决方法 1.出现这个错误 no_perms Private mode enable, only admin can publish this module 错误输出内容 n ...

  9. Jar 包依赖冲突排查思路和解决方法(logback + slf4j-log4j12)

    Jar 包依赖冲突排查思路和解决方法 [TOC] 起因 喜大普奔,本期发布中,我们的应用从 jdk7 升级到 jdk8,终于可以用上新特性的语法进行代码编写,通过几轮开发.测试和验证后,在上预发环境时 ...

最新文章

  1. 一些真诚的学习经验和生活感悟
  2. 开启和关闭(禁用)IE8加速器功能的办法
  3. 年月日时紫白推算表_年月日时飞星算法
  4. matlab 旅行商遗传算法,急求蚁群混合遗传算法在matlab上的实现以解决TSP旅行商的问? 爱问知识人...
  5. centos6.5搭建mysql主从_mysql 主从配置,主-》windows,从-》centos6.5
  6. sql设为简单模式sql_SQL模式演练
  7. swift可选隐式可选类型
  8. 标准BST二叉搜索树写法
  9. 企业微信服务号注册认证支付接入流程
  10. 凡人修仙传jar_凡人的贝壳无法逃脱灵魂般的阴影
  11. ue4设置图片大小_如何达成照片级渲染效果,UE4来助你一臂之力
  12. FPGA VerilogHDL语言 数字钟 按键消抖
  13. app毕业设计 基于uni-app框架 在线外卖点餐app毕设题目课题选题作品源码(1)app功能和界面
  14. python 局域网扫描_局域网扫描器(有待优化)-Python应用
  15. Jenkins 通过 Version Number Plug 优雅的生成项目版本号
  16. ae计算机配置要求,AE和PR要求电脑的最低配置分别是?
  17. Oracle数据库创建定时任务
  18. SSM电影点播系统03-UI界面设计
  19. Ubuntu中如何进入recovery 模式
  20. 泰国买房后如何汇款或使用香港银行开户汇款海外?

热门文章

  1. strtotime那些事
  2. 计算机语言类型和特点,计算机语言-计算机语言的特点
  3. 鸿蒙跨屏流转是什么,华为智慧屏SE系列评测:从用上到爱上 就是一“眼”之间...
  4. 安装RVM(ruby版本控制)
  5. v免签对接易支付插件(已测试)
  6. 新绝代双骄3终极全攻略5
  7. 简易爬虫实现校园网剩余流量查询
  8. 生日悖论分析基于python
  9. Code-server阿里云ECS服务器部署
  10. linux之ssh命令详解