利用charles抓包

利用charles抓包charles是一款http抓包软件,和fiddler极为相似,所以大家就会问,为啥不用fiddler呢,因为mac没有fiddler。而且charles还是付费版本。所以我们这里从安装破解到抓包成功一步一步讲清楚。下载并安装我们进入charles官网进行下载:https://www.charlesproxy.com/latest-release/download.do,我是mac,所以选择其中的macOS下载dmg包之后我们正常的安装,安装完成打开,大概就是这样的模样破解我们打开激活码生成界

大家好,又见面了,我是你们的朋友全栈君。

charles是一款http抓包软件,和fiddler极为相似,所以大家就会问,为啥不用fiddler呢,因为mac没有fiddler。而且charles还是付费版本。所以我们这里从安装破解到抓包成功一步一步讲清楚。

下载并安装

我们进入charles官网进行下载:https://www.charlesproxy.com/latest-release/download.do ,我是mac,所以选择其中的macOS在这里插入图片描述

下载dmg包之后我们正常的安装,安装完成打开,大概就是这样的模样
在这里插入图片描述

破解

我们打开激活码生成界面:
https://www.zzzmode.com/mytools/charles/
在这里插入图片描述
其中RegisterName可以随意填写,然后点击生成即可获得激活码。接着我们从charles的菜单栏里进入: Help -> Register Charles 即可打开激活charles的入口
在这里插入图片描述
我们将生成的name和key填入,点击Register之后charles会被关闭,重新启动即完成激活了。

配置SSL证书抓https包

破解完成后我们回过头来看一下一开始打开charles的那个界面,里面全是unknow,原因是这些https请求需要配置SSL证书。我们从菜单进入:Help -> SSL Proxying -> Install Charles Root Certificate,点击会会弹出mac的用户钥匙界面
在这里插入图片描述
我们找到Charles的这个证书,当前是不被信任的,我们双击进入到信任设置界面在这里插入图片描述

使用此证书时选择「始终信任」,设置后关闭即可,然后我们重新启动charles。

现在我们可以来做个测试,我们在百度上进行一个搜索
在这里插入图片描述

然后我们在charles中 「ctrl + F」 根据关键字搜索
在这里插入图片描述

就可以看到我们在哪些接口中有我们的关键字,然后我们在点击进入到具体的接口在这里插入图片描述

可能有小伙伴会发现自己的测试效果有问题,显示的是如图所示的全是unknow
在这里插入图片描述

可能是因为没有设置要代理的域名和端口,我们从charles的菜单:Proxy -> SSL Proxying Settings打开之后进入这个弹窗
在这里插入图片描述

我们点击红框选中的Add可以配置需要进行抓包的地址
在这里插入图片描述

如果专门的限制的话,我们直接全部都填*即可。表示任意地址和任意端口都抓包。之后我们重复上面的测试流程再看看效果,应该就好了。

或许大家可能会说抓浏览器的包没有意义呀,懂点相关知识的都知道F12浏览器的开发工具里啥都有,哪里还需要抓包工具。我们可以在看一下,我电脑上启动的Apifox客户端,charles也会被抓到它的包,只要用的是http通讯,不管是网页还是客户端都可以看的一清二楚。
在这里插入图片描述

配置网络代理抓手机的包

能够实现抓PC端的包之后,我们可能还希望能够通过它去抓手机的包。首先我们需要去让电脑和手机处于同一局域网,比如用手机给电脑开个wifi,或者让他们连同一个wifi就好了。我们进入到手机wifi设置界面在这里插入图片描述

我这里是长按可以编辑wifi,不同手机方式可能不太一样,打开类似如下界面
在这里插入图片描述
服务器主机名我们填写电脑的ip地址(mac在wifi设置界面就能看到自己的ip地址,window可以在cmd中输入ipconfig命令获取),服务器端口号填写charles的代理端口号,如果你没有修改过的话,默认是8888。保存后如果首次一般charles会弹出这个弹框。在这里插入图片描述

点击Allow就好了。

这时我们可以去手机上尝试打开个网页之类的看看效果,但很可能不仅啥也抓不到,而且连网都上不了。原因也是现在的网络请求基本都是https的,所以需要配置SSL 证书才行。

给手机端安装SSL证书

我们还是从charles的菜单:Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser。然后他会弹出一个教程
在这里插入图片描述

大致意思是在手机上用浏览器打开 chls.pro/ssl 这个地址(这个地址不一定是这个,我看网上很多其实不是这个地址,所以还是大家自己点击到这个教程看一下)下载证书,然后安装并设置为手机的信任证书,我们打开这个网址
在这里插入图片描述

选择立即下载。之后我们去进行证书安装,这个步骤每种手机的入口都不太一样,大家可以在设置里找找”凭证”之类的字样,或者百度一下,我是华为P40所以以华为P40为例,从设置 -> 安全 -> 更多安全设置 -> 加密和凭证,选择从存储设备安装,华为p40有这个设置选项需要注意
在这里插入图片描述

这里需要选择VPN和应用。

以上就是基本全部完成了,我们我们尝试打开京东App进入到某个界面
在这里插入图片描述

然后charles就能抓取到相关的接口调用。
在这里插入图片描述这个时候我们可以在换个app,比如盒马,我们会发现部分页面能打开,部分网页直接打不开了。抓的接口也都是unknow状态。这就是app本身做了反抓包的相关设计,这个后面再讲。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/134449.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 什么是面向切面编程_简述面向切面编程思想

    什么是面向切面编程_简述面向切面编程思想学习完面向对象编程和面向接口编程,下一步就是面向切面编程,快来mark!

    2022年10月21日
  • 如何做职业规划并进行求职准备(持续更新)「建议收藏」

    如何做职业规划并进行求职准备(持续更新)「建议收藏」读《这些道理没有人告诉过你》的职业规划思考1.根据初步判断,我最适合的职位应该是软件测试工程师2.根据初步判断,我最适合的行业应该是软件测试行业?互联网行业?互联网金融行业?电商行业?(不太清楚行业的分类,暂时先这么写吧)3.根据职位与行业,我选定的目标公司应该是:最高目标公司三家:阿里巴巴集团、天猫、京东(亚马逊、沃尔玛百货公司、苏宁云商集团股份有…

    2022年10月20日
  • Centos7安装svn服务

    Centos7安装svn服务Centos7安装svn2020-12-0509:53:032020-11-1816:54:08+0800chenxizhannew在Centos上安装SVN服务器的步骤简单介绍每个安装步骤的原理CentOSLinuxrelease7.9svn,version1.7.14安装1.7.14-14.el7#1.安装服务sudoyuminstallsubversion#2.创建存放仓库的目录sudomkdir-p/var/svn#

    2022年10月18日
  • import duties(Python import变量)

    最近在读《编程之美》,打算用C#实现其中一个题目,就是如何控制CPU的使用率在50%,使得在资源管理器中CPU利用率维持在一条直线。单核的还容易办到,但是现在的机器一般都是多核的,这样就需要调用Win32API SetThreadAffinityMask 来给线程制定CPU去执行。但这个API只能在C++调用,那么在C#里如何调用呢?更进一步,就是在C#里为什么没有全部的WIN32API可

    2022年4月15日
  • 火星今天飞抵西非国家寻找埃博拉疫情

    火星今天飞抵西非国家寻找埃博拉疫情

    2022年1月9日
  • JMH初探

    JMH初探JMH入门(很多情况下需要做性能基准测试(benchmark)。简单的说就是,在几种类似的解决方案中,寻找效率较高的。比如对比一下thrift,protobuf,avro在对象序列化时的效率等。这种测试通常需要对被测的代码段反复执行,最后取平均值,然后横向对比几种方案。如果能有(时间、CPU、内存、IO)曲线图表输出就更加直观了。一开始考虑用JMeter来做,但是这个框架似乎有点大,看了几次都

    2022年7月11日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号