博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Charles从入门到放弃
阅读量:6277 次
发布时间:2019-06-22

本文共 1383 字,大约阅读时间需要 4 分钟。

Charles版本:4.0.2

一、开始


连接方式

  • 方法一:电脑和手机连接同一个wifi
  • 方法二:电脑使用网线连接网络,手机通过USB连接电脑

二、过滤网络请求


1.简单过滤

743207-20171031195642732-1111174727.png

在Sequence模式下,就可以看到Filter,输入要过滤的关键字即可。

2.长期特定的网络封包

743207-20171031195723951-627252784.png

路径:Proxy->Recording Settings->Include→Add

在编辑框中填入要封的网络请求

3.关注特定的网络请求

743207-20171031195800560-631913134.png

在想要特定关注的网络请求那行,右键勾选"Focus"即可

三、抓取手机网络包


743207-20171031195843388-17102909.png

前提:手机,电脑连结的是通一个wifi网络

在菜单栏上选择 Proxy->Proxy Settings,填入代理端口 8888,并勾上 “Enable transparent HTTP proxying” 即完成了代理

查看电脑IP地址

在手机wifi网络中添加代理,输入电脑IP和charles的端口号 8888

抓HTTPS包

1.Mac安装SSL证书

743207-20171031195940029-1961501455.png

在Help→SSL Proxying→Install....

选择后,就会出现证书下载,下载成功后会电脑”钥匙串访问“中看见(这里我已经安装并信任过了),然后双击下载的证书,勾选信任即可。

743207-20171031195959060-820654922.png

2.手机安装SSL证书

743207-20171031200649841-802705353.png

在SSL Proxying中勾选Install ...Mobile Device 会弹出一个框,用手机(处于代理状态下)登陆指定的url下载证书即可。

743207-20171031200026310-185324849.png

这时候你抓https的时候还是发现不行,乱码加unknown(如下图)

743207-20171031200037185-885857105.png

这时候我们还需要一步操作,就是将想要抓的https加入到SSL代理中,这样才能被Charles识别并解析

743207-20171031200056451-593041837.png

选择我们要抓的请求,右键选择"Enable SSL Proxying"

这时我们发现不再乱码和unknown了

743207-20171031200121920-1435217047.png

四、网络限速


开发中常备限速,通常对于Chrome我们可以使用浏览器中的"Network中Online修改",下拉还有3G等设置。

743207-20171031200150216-270391068.png

但是通过代理我们可以做的更全更多

743207-20171031200206716-160178505.png

在"Proxy→Throttle Settings"中,我们可以给所有的网络限速,也可以通过勾选"Only for selected hosts"限制指定的请求速度

五、修改网络请求内容


743207-20171031200230529-466627556.png

选中一条网络请求,然后右键选择"Compose",就会出现上图下半部分的框,可以修改几乎任何你可以想到的请求参数,点击"Execute"执行即可

六、修改服务器返回的内容


1.Map Remote(Tools→Map Remote Settings)

743207-20171031200906966-1386597355.png

将网络响应定向至另外一个网络服务,从而达到修改返回内容的目的

2.Map Local(Tools->Map Local Settings)

743207-20171031200919091-1562549870.png

将网络响应定向至本地文件,从而达到修改返回内容的目的

3.Breakpoints替换返回内容(右键->Breakpoints)

743207-20171031200922966-1103069459.png

通过名称也可以看的出来,这个类似于一种断点的功能,代理会在发送请求的时候拦截并断点网络请求,这就为我们修改网络信息提供了便利。

可以编辑请求的参数和返回的参数。

七、反向代理


反向代理(Proxy→Reverse Proxies Settings)也是一个常用的功能,特别是对于本地开发且需要域名的情况下

743207-20171031201018373-1471785415.png

这个截图的意思是 将本地 57689端口映射到www.os.com域名的80端口

转载地址:http://fmyva.baihongyu.com/

你可能感兴趣的文章
2019测试指南-web应用程序安全测试(二)指纹Web服务器
查看>>
树莓派3链接wifi
查看>>
js面向对象编程
查看>>
Ruby中类 模块 单例方法 总结
查看>>
jQuery的validate插件
查看>>
5-4 8 管道符 作业控制 shell变量 环境变量配置
查看>>
Enumberable
查看>>
开发者论坛一周精粹(第五十四期) 求购备案服务号1枚!
查看>>
validate表单验证及自定义方法
查看>>
javascript 中出现missing ) after argument list的错误
查看>>
使用Swagger2构建强大的RESTful API文档(2)(二十三)
查看>>
Docker容器启动报WARNING: IPv4 forwarding is disabled. Networking will not work
查看>>
(转)第三方支付参与者
查看>>
程序员修炼之道读后感2
查看>>
DWR实现服务器向客户端推送消息
查看>>
js中forEach的用法
查看>>
Docker之功能汇总
查看>>
!!a标签和button按钮只允许点击一次,防止重复提交
查看>>
字符串反转
查看>>
第21章 策略模式(Strategy Pattern)
查看>>