firemail
标题: 抓包工具Charles [打印本页]
作者: java 时间: 2017-7-3 17:35
标题: 抓包工具Charles
本帖最后由 java 于 2018-4-3 17:34 编辑
抓包工具Charles 也是 抓包工具 是一个HTTP代理服务器,HTTP监视器,反转代理服务器
https://www.charlesproxy.com/
下载
链接: https://pan.baidu.com/s/1F1U8OL8orp94EoglDhGjbw 密码: w43s
charles-proxy-4.1.4_amd64.tar.gz 和 charles-bs-v414.jar
解压前者后,把lib目录下的charles.jar用charles-bs-v414.jar替换
linux安装了docker之后,用ifconfig指令看多了一个docker0,怎么关掉? 这会影响 charles启用的ip地址
$ sudo ifconfig docker0 down
$ sudo ifconfig docker_gwbridge down
作者: java 时间: 2017-8-17 11:55
本帖最后由 java 于 2017-10-17 18:20 编辑
charles工具使用charles除了之前介绍过模拟弱网的功能外,还有很多强大的功能。最近客户端测试用到的功能介绍如下:
一.准备工作1.手机设置代理charles设置代理端口号8888:Proxy→ Proxy Settings
手机设置代理,连接wifi,点开设置http代理,选择手动,服务器填写charles所在本机的ip地址,端口号8888
2.SSL代理设置,允许抓取https协议Proxy→SSL Proxying Settings→勾取Enable SSL Proxying→add→添加想要抓取的域名和端口号,以抓取阿波罗app数据为例
二.拦截某个软件的接口数据手机代理到电脑,charles会出现弹窗,询问allow还是deny,选择allow,连接成功。
通常情况下,我们需要对网络请求进行过滤,只监控向指定目录服务器上发送的请求。
在Charles的菜单栏选择"Proxy"->"Recording Settings",然后选择Include栏,选择添加一个项目,然后填入需要监控的协议,主机地址,端口号。这样就可以只截取目标网站的封包了。如下图截取阿波罗app数据:
如果只测试一个功能的情况下,可以只截取单个接口,例如测试阿波罗首页广告,只需截取splash接口,添加并勾选。
勾选Proxy →Start Recording,开启抓取记录,可以在charles界面看到你所过滤的网络请求,以阿波罗app为例:
Charles主要提供2种查看封包的视图,分别名为“Structure”和"Sequence"。
- Structure视图将网络请求按访问的域名分类。
- Sequence视图将网络请求按访问的时间排序。
大家可以根据具体的需要在这两种视图之前来回切换。
对于某一个具体的网络请求,你可以查看其详细的请求内容和响应内容。如果响应内容是JSON格式的,那么Charles可以自动帮你将JSON内容格式化,方便你查看。
三.更改返回数据来测试各种情况1.强大的mapping功能a.Map Local可以将远程的某个文件代理到本地文件,进行调试。使用方法如下:
Tools→Map Local→勾选Enable Map Local→Add→填入需要映射本地文件的协议,主机地址,端口号
本地文件可以是自己造的测试数据,也可以是接口返回的数据保存到本地再进行修改,只需先将接口返回数据进行保存到本地:点击某接口response,右击save response。
b.Map RemoteMap Remote的功能原理和Map Local的原理相同,都是替换请求,只不过Map Local替换的请求为本地文件,而Map Remote替换的请求为线上请求。
使用方法:Tools→Map Remote→勾选Enable Map Remote→Add→填入需要替换请求的协议,主机地址,端口号。
如图,splash接口映射到entry接口,splash接口访问的是entry接口的数据。
2.断点功能我们可以通过使用断点功能来篡改请求的数据或者返回的数据,达到模拟的效果,已测试阿波罗app为例方法如下:
类似于mapping,我们可以针对接口右键选择"BreakPoints",这样这个接口就被加入到断点状态了
需要进一步修改断点的属性,可以在菜单栏"Proxy"–>"Breakpoints Settings"里进行添加删除或者修改,配置方式和mapping雷同,并且可以选择这个断点是在request还是response,还是两者都要。
这个时候再刷新app界面,会直接跳转到断点模版,这个时候你可以在对应状态情况下修改request或者response,然后点击下方按钮“Execute”。
跳转到断点界面,先点击下方执行按钮“Execute”。
然后点开Edit Response界面,选择JSON格式,格式清晰,方便修改,直接在上面进行数据修改,改成你想要测试的数据,然后点击执行按钮
再次刷新app界面,然后app返回的是新改的数据,根据返回数据测试客户端显示是否正确。
http://www.cnblogs.com/summer-sun/p/5479254.html
作者: java 时间: 2017-10-17 19:37
本帖最后由 java 于 2018-3-29 17:02 编辑
4.手机下载ssl证书
1).Help->SSL Proxying ->Install Charles Root Certificate on a Mobile Device or Remote Browser...
会弹出一个提示框,如下显示:
2).然后按照他的提示安装证书即可.
也可直接保存到机器上再传送到手机上
Help->SSL Proxying -> Save Charles Root Certificate...
设置--安全--从SD卡安装 找到下载的 .pem 或 .cer文件安装
作者: Qter 时间: 2024-4-28 14:59
本帖最后由 Qter 于 2024-4-28 15:05 编辑
charles
链接:https://pan.baidu.com/s/1cKIT_1df5K9kh53BxfhIAw
提取码:0mwm
上面的好像不是Windows平台的
Charles 4.5.6汉化版,赶紧上车,懂的都懂
百度网盘:链接:https://pan.baidu.com/s/1y7KuzSg_SKmtEP4OTRycwg?pwd=52pj
提取码:52pj
直接下载:
https://www.123pan.com/s/2GLRVv-CW4Gv
注册信息:
用户名:52pojie
注册码:E63519EFB77448393C
欢迎光临 firemail (http://firemail.wang:8088/) |
Powered by Discuz! X3 |