目录
1、为何需要使用需要使用工具来抓包
因为App调用API接口,如果在IDE Android Studio直接调试,虽然可以获得接口返回数据;但是此种方式比较复杂,如果针对已经发布的软件是无法获得相关的接口数据的。所以无论是在开发阶段,还是在发布后的APP都可以使用抓包工具,来实现调用API的接口返回数据抓包。
Charles最大的优势在于抓包,我们大部分使用的功能也在抓包的功能上,Charles做接口测试也是非常方便的。
对应没有接口测试文档的时候,可以直接抓完包后,copy请求参数,修改下就可以了。
1.1、Charles手机抓包原理
Charles,因产品Icon为青花瓷造型,俗称青花瓷。主要是用来抓取网络流量包,可以分析产生的网络请求、可以配置代理来抓取手机流量包数据。
在本机开启了一个http的代理服务器,然后它会转发所有的http请求和响应。Charles是以代理web 服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。网络请求走Charles,Charles从中拦截数据,由于Charles充当中间人的角色,所以可以解密https。因此,它比一般的firebug或者是chrome自带的抓包工具要好用的多。不仅如此,它还可以支持请求重放等一些高级功能。它还可以支持对手机应用进行http抓包的。本文就是手机抓包。
浏览器的代理设置默认是关着的,win7谷歌浏览器“设置--高级--系统--打开代理服务器--局域网设置--代理服务器”勾上。代理开关为开:可以抓到包,代理开关为关:抓不到包。(本人Windows10直接安装后即可)
2、如何安装Charles
2.1、下载安装文件
百度 搜索 Charles windows 找到后安装即可 可以到官网下载 https://www.charlesproxy.com/ 或者下载国内,下载安装包然后自己一步一步选择安装目录安装即可
安装说明:
2.2、Charles Crack
Crack地址:https://www.zzzmode.com/mytools/charles/
生成jar文件后,放到charles安装目录的lib目录下
重启charles,查看已经破解,如下图:
3、如何配置和使用Charles进行抓包,以及相关常用操作
3.1、PC端 HTTP抓包
下面是pc端的抓包使用情况 Charles支持抓去http、https协议的请求,不支持socket。然后charles会自动配置IE浏览器和工具的代理设置,所以说打开工具直接就已经是抓包状态了。这里打开百度抓包下,工具界面和相关基础功能如下图所示:
设置charles, Proxy->Proxy setting,就可以抓取http协议了(默认不用更改)
3.2、移动APP HTTP抓包
这里相比其他抓包软件来说要简单的多了,具体步骤如下:
- 使手机和电脑在一个局域网内,不一定非要是一个ip段,只要是同一个路由器下就可以了,比如电脑连接的有线网ip为192.168.16.12,然后手机链接的wifi ip为192.168.1.103,但是这个有线网和无线网的最终都是来自于一个外部ip,这样的话也是可以的。
- 下面说说具体配置,这里电脑端是不用做任何配置的,但是需要把防火墙关掉(这点很重要)!然后Charles设置需要设置下允许接收的ip地址的范围。 设置首先要进入这个位置 Proxy - Access Control Settings 然后如果接收的ip范围是192.168.1.xxx的话,那么就添加并设置成192.168.1.0/24 如果全部范围都接收的话,那么就直接设置成0.0.0.0/0
然后如果勾选了Proxy - Windows Proxy 的话,那么就会将电脑上的抓包请求也抓取到,如果只抓手机的话,可以将这个设置为不勾选。
手机端的配置
首先利用cmd - ipconfig命令查看自己电脑的ip地址 这个就不在图文介绍了,ipv4就是你现在的IP地址,然后在手机端的wifi代理设置那里去进行相关的配置设置。
这里的代理服务器地址填写为电脑的ip地址,然后端口这里写8888(这个是charles的默认设置),如果自己修改了就写成自己所修改的端口就可以了。
注意:请选择Allow即可
3.3 HTTPS抓包
参考文章: Charles抓包(iOS的http/https请求) Charles抓包https
HTTPS的抓包需要在HTTP抓包基础上再进行设置, 设置前抓包HTTPS是这样的
设置后抓包HTTPS长这样
以下为在HTTP抓包基础上进行HTTP抓包的进一步设置步骤:
(1)安装SSL证书到电脑
(2)安装SSL证书到手机设备
点击 Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device
出现弹窗得到地址 chls.pro/ssl
在手机Safari浏览器输入地址 chls.pro/ssl,出现证书安装页面,点击安装
手机设置有密码的输入密码进行安装
注意1:Safari浏览器输入这个网址chls.pro/ssl安装不了证书的情况,
(1)设置好手机HTTP代理 (2)电脑上Charles要开着
注意2:iOS 10.3系统,需要在设置→通用→关于本机→证书信任设置里面启用完全信任Charles证书
(3)Charles设置Proxy
Proxy -> SSL Proxying Settings…
勾选Enable SSL Proxying,点击Add
Host设置要抓取的https接口,比如想抓这个
Host填写:test-qxzx-mobile-intl.wdcloud.cc(自己抓取网址)
Port填写:443
(4)进行HTTPS抓包
让手机重新发送https请求,可看到抓包
4、Charles 使用教程
https://www.cnblogs.com/mawenqiangios/p/8270238.html
5、注意事项
如果手机端不进行抓包了,必须把代理关闭了;否则Charles 关闭后;手机上的应用就无法访问网络了。
6、参考文章
https://www.cnblogs.com/rrl92/p/7928770.html
https://www.cnblogs.com/aoxueshou/p/6605476.html
https://jingyan.baidu.com/article/0aa2237561af1088cc0d64c9.html