学习笔记-Charles 抓包工具的使用(针对HTTP协议)

Charles其实是一款代理服务器,通过过将自己设置成系统(电脑或者浏览器)的网络访问代理服务器,然后截取请求和请求结果达到分析抓包的目的。能够在Windows,Mac,IOS和Android多平台上使用

一、Charles的主要功能:

(1)截取Http 和 Https 网络封包

(2)支持重发网络请求,方便后端调试

(3)支持修改网络请求参数

(4)支持网络请求的截获并动态修改

(5)支持模拟慢速网络

二、电脑抓包

打开Charles, “录制”按钮为开启状态,随便在浏览器上访问下想要抓的页面,则可在Charles里看到,包括Request,Response,Headers,Cookies等信息

三、手机抓包

1、查看 Charles 中HTTP的端口设置:Proxy - Proxy Settings -Proxies 中Port的值,也可进行修改设置, 常见的设置8888或者8080 

2、查看电脑IP地址:

 

3、手机网络设置:wifi - 代理- 手动 - 填写主机名(电脑IP),端口号  <步骤1中的Charles的端口号,步骤2中的IP地址>

前置条件:使手机和电脑在同一网段(可以手机和电脑同时连一个WIFI)

 4、然后手机发起请求,要选择同意(allow) (如果没有弹出此界面,一般无法抓包,请确认防火墙关闭,并重启charles) 

5、手机任意打开某些HTTP站点或者APP,通过Charles 能看到请求信息

 

四、修改Request及Response

1、修改Request

 (1)右击需要被修改的请求,选择Breakpoints;再右键就会看到Breakpoints 前有打勾

(2)、 再次访问已添加断点的请求时会被中断,访问会处于加载状,可以通过“Edit Request” 窗口修改请求内容, 然后点击“Execute” 继续执行请求;如果不需要修改Request内容的话,也可直接点击“Execute” 继续执行请求

2、修改Response

由于选择了Breakpoints,修改Request 执行后,请求发出,服务器处理后返回Response也会被中断,可以通过“Edit Request” 窗口修改返回内容, 然后点击“Execute” 把修改后的Response返回给客户端;如果不需要修改Response内容的话,也可直接点击“Execute” 把Response内容返回

如下图,把<title> 中的值改为当铺,然后点击“Execute

操作后可以取消对Breakpoints的勾选,再执行时该请求就不会被中断了

五、筛选请求

当Charles抓取到很多请求时,而自己关注的请求往往只有某一个,在那么多请求中找出一个请求比如难,可以通过筛选来查看关注的请求

Charles有两种视图,Structure和Sequance。

Structure视图是默认的,它展示的是按结构来组织的请求,通过结构你可以逐步锁定你关心的请求所在的范围直到找到它;

Sequance视图下,你可以在Filter区域写入关键字来过滤出你关心的请求,这种办法更加直接快捷

原文地址:https://www.cnblogs.com/fenggf/p/8651553.html