前言

抓包工具第一篇文章我们讲过,主要有 Charles 和 Fiddler,关于 Fiddler 抓包 APP 的,我之前写过一篇文章:Fiddler抓包APP教程,Fiddler 抓包 App 请直接参考这篇文章。

今天重点讲下 Charles 抓包 APP。

首先,Charles 抓包工具是付费的,不付费的话每隔 30 分钟 Charles 就会重启一次,很烦人,网上有很多破解的 jar 包,大家自行搜索,这里就不提供方法了。

Charles 代理设置

首先我们得在 Proxy–Proxy Setting 中设置代理端口号,默认 8888,一般用默认的就行,除非和电脑上其他端口有冲突,下面的勾√ 也有勾上,这是为了能抓取 HPPTS 数据的。

安装证书到电脑

Charles 证书安装在电脑里,点击 Help–SSL Proxying–Install Charles Root Certificate

点击安装后,在证书列表里找到它,设置始终信任它就行,我这是 Mac,windows 好像更简单,全部下一步就行。

安装证书到手机

首先,我们让手机和电脑子啊同一局域网下,先查看下电脑的 IP,Windows 电脑 cmd 里输入 ipconfig 命令查看 IP,Mac 电脑在终端输入 ifconfig 查看 IP,手机的无线网里设置代理,填上刚查到的 IP 和端口号 8888。

如果手机是第一次和电脑连接,Charles 上会有弹窗提示,选择 Allow 同意即可。

连上之后,我们点击 Help–SSL Proxying–Install Charles Root Certificate on a Mobile Devices or Remote Browser,这时会弹窗告诉我们怎么做。

弹窗的意思是让我们手机连上代理后,手机浏览器里输入 chls.pro/ssl 网址,下载安装证书。

下载后安装就可以了,我这是 Android 手机,苹果手机多一步信任证书的步骤,这点要注意。

证书都安装完成后,操作手机上的 APP,就会抓到大量的数据信息了。

过滤信息

信息太多,我们可以做下过滤,左下方 Filter,我们可以做下临时的过滤功能,比如我要抓取今日头条 APP 的 NBA 模块的内容,我们在 Filter 输入 snssdk,点击第一个域名下面,我们看到抓取到的新闻的标题信息。

不显示抓取数据

假如你抓取的全部数据出现 unknown 的情况。

这时请在 Proxy–SSL Proxy Settings 中添加,在 Host 里输入 *,表示容许抓取所有数据。

如果加上之后还是显示 unknown,可能证书没装好或者过期了,电脑上和手机上的证书根据上面的步骤重装下。

切换显示模式

Charles 抓包的信息有两种显示方法,默认的是 Structure 信息流,你也可以切换成 Sequence 模式。

模拟网速

Charles 可以模拟不同的网络情况,一般用在测试中,模拟不同的网络情况下软件是否运行正常。我们在 Proxy–Throttle Settings 中设置不同的网速。

断点测试

什么是断点呢?开发的时候,经常需要对代码进行 debug 断点调试,让程序中断在需要的地方,从而方便其分析。Charles 中的断点功能也是类似的。这个功能主要是在测试过程中,对于有些极端的数字我们无法模拟的情况下,我们会设置断点该数据。举个例子,测试贷款业务,显示贷款金额,比如最大金额是 100000000,测试中这个数据不好造,我们需要测试下最大金额时页面显示的兼容性,是否会被截断或者不显示,这时可以借助断点,改变金额后返回给页面,页面显示的就是你修改之后的数据了。

我们先对需要断点的域名设置断点。

注意是在主域名这里设置断点,不是在下面。

进入页面时会触发断点功能。

不是我们要改的信息直接点击 Execute。

比如在个人信息里,我把我的粉丝数量改成 999999999,看看手机页面显示,粉丝数量确实变了(如果真有这么多就好了)

断点结束后,记得关闭断点,当电脑上的 Charles 抓包工具关闭时,记得将手机上的代理关闭,否则手机会上不了网。

以上就是 Charles 常用功能,如果遗漏,欢迎补充交流。

python网络抓包工具_抓包工具 Charles 用法详解相关推荐

  1. python内存池_python内存监控工具memory_profiler和guppy的用法详解

    python内存监控工具memory_profiler和guppy的用法详解 发布时间:2020-08-21 19:44:58 来源:脚本之家 阅读:123 python2.7在内存管理上相比pyth ...

  2. python中mat函数_Python中flatten( )函数及函数用法详解

    flatten()函数用法 flatten是numpy.ndarray.flatten的一个函数,即返回一个一维数组. flatten只能适用于numpy对象,即array或者mat,普通的list列 ...

  3. python中global和def_Python中 Global和Nonlocal的用法详解

    nonlocal 和 global 也很容易混淆.简单记录下自己的理解. 解释 global 总之一句话,作用域是全局的,就是会修改这个变量对应地址的值. global 语句是一个声明,它适用于整个当 ...

  4. 惠普硬盘测试工具_短DST未通过,图文详解惠普笔记本如何检测硬盘

    惠普品牌一直都是笔记本业内的佼佼者,惠普不光生产笔记本,它还生产各类各样的笔记本元件.硬件.的硬盘在长时间的使用之后会出现一些问题,这可能是硬盘出现健康状况出问题的原因,那么如何监测硬盘的健康状况呢, ...

  5. python矩阵乘法分治算法_矩阵乘法的Strassen算法详解 --(算法导论分治法求矩阵)...

    1 题目描述 2 思路分析 3 解法 4 小结 1 题目描述 请编程实现矩阵乘法,并考虑当矩阵规模较大时的优化方法. 2 思路分析 根据wikipedia上的介绍:两个矩阵的乘法仅当第一个矩阵B的列数 ...

  6. python中sys模块有什么用_Python sys模块用法详解

    sys 模块代表了 Python 解释器,主要用于获取和 Python 解释器相关的信息. 在 Python 的交互式解释器中先导入 sys 模块,然后输入 [e for e in dir(sys) ...

  7. python方向键控制角色_Python控制鼠标和键盘-PyAutoGUI用法详解

    PyAutoGUI--让所有GUI都自动化 安装代码:pip install pyautogui 1.简介 1.1 目的 PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序自 ...

  8. python xpath语法-Python爬虫基础之XPath语法与lxml库的用法详解

    前言 本来打算写的标题是XPath语法,但是想了一下Python中的解析库lxml,使用的是Xpath语法,同样也是效率比较高的解析方法,所以就写成了XPath语法和lxml库的用法 XPath 即为 ...

  9. python定义栈_Python开发中栈的定义及用法详解

    前言 在Python开发中栈的设计和使用是常用到的,可以说是学习Python必须要掌握的一个技能,那么作为程序猿的你掌握了多少呢?掌握不熟练?没关系,跟着小编再来学习一下吧. 正文 栈是常用的数据结构 ...

最新文章

  1. 高并发系列:架构优化之从BAT实际案例看消息中间件的妙用
  2. 7月11日任务 shell介绍、shell结构和执行 、date命令用法、shell脚本中的变量
  3. 权限管理系统之模块管理
  4. Oracle ORA-00904:invalid identifier 标识符无效
  5. [f]动态判断js加载完成
  6. lnp和mysql分开安装_毕业设计之LNP+DISCUZ +分离的数据库操作
  7. linux权限体系有哪些角色,详解Linux下系统权限
  8. Spring AOP源码解析——专治你不会看源码的坏毛病!
  9. python的匿名函数返回值_Python匿名函数返回值输出问题望指点
  10. 最新消息:更多的Windows Azure Marketplace Content 和Hands On Lab
  11. php绘制雪花墙,基于雪花算法的 PHP ID 生成器
  12. C++简单实现 前缀树
  13. linux输入法状态栏消失,隐藏 fcitx 输入法的状态栏
  14. 什么是悬赏任务APP源码?
  15. maya! board_教你玩转MAYA的四十二精华造诣(第二期)
  16. xshell功能大全(上)
  17. Java中Scanner的进阶---求和与求平均数
  18. J Infect (IF 38) | 韩国中央大学贾保磊等揭示人口腔微生物组中编码羊毛硫抗生素链球菌是肝脏疾病的潜在风险因子...
  19. 数控木雕机器雕工艺品
  20. 基于图像的虚拟试衣:CloTH-VTON:Clothing Three-dimensional reconstruction for Hybrid image-based Virtual Try-On

热门文章

  1. 巧用图片,处理竖屏视频上下黑边,打造全屏观感
  2. GL-SF1200 路由器 利用 github actions 自编译软件包并安装
  3. 基于Java的私人牙医诊所(医院)系统
  4. 机械装备行业MES解决方案
  5. prototype (原型) 属性
  6. 为什么结构体指针需要malloc申请空间
  7. maven的版本号version的总结及理解
  8. 电视量价齐跌,小米电视率先跌回5字头,或促使电视跌回白菜价
  9. poj 1264 SCUD Busters
  10. Android中国象棋自绘简单实现