软件测试之菜鸟级攻略,抓包工具Charles使用教程如下:
一、安装步骤
安装步骤非常简单
官网下载:https://www.charlesproxy.com/download/,依照自己的电脑系统,下载安装。
官网下载的版本需要进行破解,破解包根据自己下载的版本下载一个对应版本的破解包
二、证书安装
charles安装完成后,就可以抓取电脑上http的请求。但抓取https的时候还需要进行一些设置。windows的设置于mac不太相同,但基本操作都是一样。这边以windows为例。
1.电脑安装证书
a.选择:Help—SSL Proxying—Install Charles Root Certificate
b.证书安装完成后,设置SSL Proxying Settings。选择:Proxy—SSL Proxying Settings…
添加相应的host以及端口,如下图所示。
c.以上设置完成后,重启charles和浏览器就可以使用charles抓取电脑中的https请求了。
但有时会出现部分网页打开时,提示“隐私设置”问题。这是可能是由于SSL Proxying Settings中的设置没有覆盖全面,可以将无法打开网页的host以及port添加进去。
2.手机安装证书
a.选择:Help—SSL Proxying—Install Charles Root Certificate on a Mobile Devices or Remote Browser
b.打开了如下的窗口
c.手机端打开无线网的设置—代理设置。设置代理服务器、端口为上图中的主机和端口
d.配置代理信息后,Charles会出现如下窗口,点击Allow
e.允许链接后,在浏览器中输入:chls.pro.ssl下载证书,下载后,直接安装。安装后确认证书是否是被信任的证书,打开:通用—关于本机—证书信任设置,将下载的charles证书设置为信任。
f.设置完成后可以使用charles抓取手机发出的https请求
三、快捷菜单栏操作
清除按钮:点击该按钮将清除当前会话中的所有内容
停止按钮:点击后Charles将停止抓包
节流按钮:点击后将限制请求上传和下载的速度
断点按钮:点击后将指定的请求打上断点
撰写按钮:可以新建一个请求或者在原有的请求基础上修改请求
重复请求按钮:选中请求后点击按钮,将所有请求重复请求一次
验证按钮:验证返回的Html信息。将这些返回发送到W3C HTML验证器、W3C CSS验证器和W3C Feed验证器来验证记录的相应。
四、常用功能操作
1.模拟慢速网络:Proxy—Throttle Settings(快捷菜单中的节流按钮)
适用场景:模拟慢速网络或者高延迟的网络。
勾选:Enable Throttling按钮就可以打开限速。
在Throttle Preset中可以直接选择已经预设的模式,也可以根据自己需要调整参数。
可以对指定的请求进行单独的限速,勾选:Only for selected hosts—Add—添加指定的请求地址。
2.断点功能:Proxy—Breakpoints Settings(快捷菜单中的断点按钮)
适用场景:需要修改一次网络请求或返回结果。一般用于临时性的修改。当指定的网络请求发生时,Charles会接获该请求。
(1)两种设置的方式:
a.勾选:Enable Breakpoints按钮,点击Add按钮,添加需要打断点的请求信息
b.选中需要打断点的请求,右击—选择Breakpoints,即可将该请求打上断点。默认请求和返回都被打断点,可以通过a的方式进行修改。
指定请求打上断点后,再次请求,根据设置会拦截相应的请求或者返回,此时修改相应的内容后,点击Execute按钮。
3.重写:Tools—Rewrite
适用场景:需要对请求和相应进行修改时,如添加或更改头信息、替换响应内容等。该功能跟断点功能类似,更适用于一个请求需要多次重新的情况。
a.添加指定的请求
b.选择重写请求或者返回,然后添加需要重写的信息
4.代理设置:Proxy—Proxy Settings
HTTP Proxy中设置端口,默认为8888。
5.SSL代理设置:Proxy—SSL Proxying Settings
抓取HTTPS时需要设置访问的网址,设置如下图一般可以抓取大部分
6.访问控制设置:Proxy—Access Control Settings
在抓取手机网络请求的设置中,会出现是否允许链接的提示框,如下
如果选择了“Allow”按钮,会自动将手机IP地址填写到Access Control Settings的窗口中。
如果不小心选择了“Deny"按钮,没有关系,可以自己将IP地址配置到以下窗口中。
7.重复请求:Tools—Repeat
适用场景:后端修改后,需要前段重复请求时,选中指定请求,点击Tools—Repeat按钮或者右键—Repeat。
8.高级重复请求:Tools—Advanced Repeat
适用场景:可以用于服务器的压力测试
下图红框中输入循环请求的次数和并发数量
五、其他操作
1.记录设置:Proxy—Recording Settings
Options:设置记录请求的限制
Include:当只需要抓取指定网站的请求,可以在该页面中添加指定的请求方式和地址
Exclude:不抓取该列表中填写的网络请求
2.反向代理:Proxy—Reverse Proxies Settings。
适用场景:对于本地开发需要使用域名的情况下非常适用。
勾选:Enable Reverse Proxie。点击Add按钮,添加相应的信息
如下图,将本地端口61087端口映射到www.baidu.com域名的80端口
3.转发端口:Proxy—Port Forwarding
适用场景:监控TCP数据时,对端口进行转发
勾选:Enable Port Forwarding。点击Add按钮,添加相应的信息4.抓取电脑请求设置:Proxy—Windows Proxy。勾选上该选项后可抓取电脑上的请求
4.抓取电脑请求设置:Proxy—Windows Proxy。勾选上该选项后可抓取电脑上的请求
5.外部代理:Proxy—External Proxy
适用场景:把经过Charles的请求转到其他代理服务器,适用于特殊情况下需要用到两个软件的特点进行开发。
填写代理服务器的IP和端口后,可以在Charles和代理服务器中同时捕捉到相同的http请求。
6.网络页面设置:Proxy—Web Interface Settings
适用场景:清除Session操作,开启后需要指定匿名可以访问或者账号密码访问
7.禁用缓存:Tools—No Caching
适用场景:防止客户端应用程序缓存任何资源。禁用后会始终向远程网站发出请求,始终获得最新版本
可以对所有请求禁用缓存,也可以对指定的请求禁用。
8.禁用Cookies:Tools—Block Cookies
适用场景:阻止Cookies的发送和接收,可用于模拟网络爬虫网站的视图。
可以对所有请求禁用,也可以对指定的请求禁用。
9.远程映射:Tools—Map Remote Settings
将from的站点映射到to的站点,从新站点提供响应。
10.本地映射:Tools—Map Local Settings
适用场景:开发调试时,可以将远程网站映射到本地文件。本地文件的内容返回给客户端,跟正常的远程相应一样。
11.黑名单设置:Tools—Black List
列入黑名单的域名请求任何页面时,该请求都将被阻止。
12.白名单设置:Tools—Write List
仅仅允许被输入的域名。如果一个请求同时存在黑名单和白名单时,该请求会被阻止。
13.DNS欺骗:Tools—DNS Spoofing Settings
将自己的主机名指定给远程地址映射来欺骗DNS查找。
适用场景:上线前需要在测试环境中验证,手机客户端请求的域名不太容易更改,可以通过设置dns方式把域名转发到测试机上进行测试。
14.镜像:Tools—Mirror
适用场景:浏览指定站点时,把接收的相应内容克隆一份,保存在指定路径下。如果收到同一个URL的两次请求,最后一次的请求将覆盖已经存在的同名文件。
15.自动保存:Tools—Auto Save
按照设置的时间间隔自动保存和清除记录会话。
16.客户端进程:Tools—Client Process
可以查看到原始进程的请求,适用于抓取PC端的请求
17.编辑修改请求:Tools—Compose、Tools—Compose New。对应快捷菜单:撰写按钮。
a.选中指定的请求,勾选:Tools—Compose;或者右键—选择Compose
b.复制了选中请求的信息,在右边的框中可以对所有信息进行修改。点击Execute按钮执行。
新建一个请求,选择Compose New:添加请求信息于上图操作一致
18.验证:Tools—Validate:与快捷菜单中验证按钮功能相同
19.发布要点:Tools—Publish Gist
最后,如果你对软件测试感兴趣,欢迎百度搜索“特斯汀软件测试腾讯课堂”或关注公众号“特斯汀软件测试”,里面涵盖很多精彩免费视频或干货知识。