跨平台http调试工具--Charles
- 安装和使用
1.1 Windows系统
1.2 Linux系统
[1.3 mac os系统](#mac os系统) - 如何抓包(手机)
2.1 HTTP抓包
2.2 HTTPS抓包 - 如何断点拦截Http请求和响应
3.1 断点规则的创建
基本介绍
官网对charles的描述是:HTTP代理/监控/反代理的工具,适用于机器与网络间的
HTTP和SSL/HTTPS的通讯。
(Charles is an HTTP proxy / HTTP monitor / Reverse Proxy that enables a developer to view all of the HTTP and SSL / HTTPS traffic between their machine and the Internet. This includes requests, responses and the HTTP headers (which contain the cookies and caching information).)
优点是跨平台:Windows, Linux, Mac OS 上均可使用。
缺点就是收费,(破解方式待补充)
<strong id="Windows系统">windows上安装</strong>
待补充
<strong id="Linux系统">Linux上安装</strong>
以我的电脑Ubuntu 16.04为例,下载好30天试版的压缩包,提供百度网盘路径:
charles-proxy-3.11.4.tar.gz , 验证码:1m17
打开终端:
$ tar -xzvf charles-proxy-3.11.4.tar.gz
$ cd charles/bin
$ charles
也可以添加到环境变量中,方便随处启动。
因为是试用版,启动有10s的延迟,界面如图:
2016-05-09 15-08-24屏幕截图.png
这样,charles就成功的在我的ubunu电脑上运行了。
<strong id="mac os系统">mac os上安装</strong>
待补充
创建手机与电脑的连接
<strong id="http抓包">http抓包</strong>
不同电脑和手机流程类似,首先获取你电脑IP地址,windows系统打开cmd 输入ipconfig, linux系统打开终端输入 ifconfig,mac同linux
其次,点击Clarles--工具栏--Proxy--Proxy Setting,查看到端口号,如图所示:
默认时8888,可以自行修改。
接下来,只要修改手机wifi的代理设置,讲ip地址和端口号写进去,保存即可。
<strong id="https抓包">https抓包</strong>
待补充
<strong id="断点规则的创建">断点规则的创建<strong>
在开发过程中,我们需要覆盖到很多情况, 直接修改返回结果的数据相对来说是最方便的,例如,我们假设需要模拟不同的定位城市的结果,我们只需创建相应的断点,匹配到请求的域名即可。
当检测到响应返回时,charles自动拦截响应,此时就可以手动修改响应结果,实现我们的目的了!