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"。
大家可以根据具体的需要在这两种视图之前来回切换。
对于某一个具体的网络请求,你可以查看其详细的请求内容和响应内容。如果响应内容是JSON格式的,那么Charles可以自动帮你将JSON内容格式化,方便你查看。
.更改返回数据来测试各种情况1.强大的mapping功能a.Map Local
可以将远程的某个文件代理到本地文件,进行调试。使用方法如下:
Tools→Map Local→勾选Enable Map Local→Add→填入需要映射本地文件的协议,主机地址,端口号
本地文件可以是自己造的测试数据,也可以是接口返回的数据保存到本地再进行修改,只需先将接口返回数据进行保存到本地:点击某接口response,右击save response。
b.Map Remote
Map 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...   
       会弹出一个提示框,如下显示:
      
       浏览器输入这个地址即可下载证书,记住要用Android自带的浏览器.   地址是:http://charlesproxy.com/getssl
    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