抓包工具Charles笔记(已完成)

Charles简介

Charles主要功能包括:

(1)截取http和https网络封包

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

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

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

(5)支持模拟慢网速

Charles的工作原理:

charles是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888.当charles打开的时候它会自动对操作系统设置代理,使之后操作系统上的浏览器发送http协议请求都需要经过charles代理去发送,以及服务器返回的数据也是如此,当charles退出的时候代理会自动取消。

Charles安装:

官方网址:Download a Free Trial of Charles • Charles Web Debugging Proxy

破解网址:Charles破解工具

常用功能键介绍:

扫把按钮:点击之后可清除抓取到的所有请求

红色按钮:红色亮起说明正在抓取请求,红点展示为灰色说明目前不在抓取请求状态

锁按钮:开启/关闭ssl proxying 即开启/关闭 https抓包

乌龟按钮:灰色乌龟是网速设置正常,绿色乌龟只开启慢速网络

六角形按钮:断点图标,灰色说明断点未开启,红色说明在使用断点

钢笔按钮:编辑请求,点击之后选中的请求会被再次发送

打钩按钮:验证选中的请求的响应

扳手按钮:常用功能,包含了Tools菜单中的常用功能

设置按钮:常用设置,包含了Proxy菜单中的常用设置

左侧请求列表栏:

(1)Structure视图是将网络请求按访问的域名分类

(2)Sequence视图是将网络请求按访问的时间排序

设置Charles代理:

前置条件:需要设为代理的计算机与个人计算机需要在同一网段(可以ping通)

(1)代理机设置:

双击打开Charles工具

点击Proxy--Proxy Setting,将两个勾√上

(2)客户机设置:

打开谷歌浏览器--点击最右侧的三个点-- 点击“设置”--选择“系统”中的“打开您的计算机代理设置”

 

在“手动设置代理”的地址框中,将IP地址替换成代理机的IP地址

 例:http=192.169.0.148:8888;https=192.168.0.148:8888

再点击保存按钮

注:此时代理机会有一个弹窗,需要代理机选择allow(允许),客户机才能够进行上网操作,同时之后客户机的所有网上操作都会被代理机所抓取监控到。

设置抓取HTTPS协议包:

1.安装Charles的HTTPS证书到电脑的受信任区域

(1)双击打开Charles工具

点击菜单栏的help--SSL Proxying--Install Charles Root Certificate

(2)安装证书

点击安装证书...在弹出的证书导入向导中选择“本地计算机”,点击下一步。

 选择“将所有的证书都放入到下列存储”,点击浏览,在弹窗中选择“受信任的根证书颁发机构”,点击确定,再点击下一步。

(3)设置端口号 

在Proxy菜单下选择SSL Proxying Setting...,在SSL Proxying选项卡中的左侧点击Add,在Host中输入 * ,在Port中输入443,点击OK,再点击OK即可。

(4)确保 “锁” 保持 锁住的状态

过滤设置:

如果不进行过滤设置,打开抓包工具进行工作时,会抓取到非常多的包,不容易找到自己需要抓取的包,因此在要抓取需求的包时,要进行过滤设置。

过滤设置操作步骤:

 (1)点击Proxy--Rcording Setting...

在弹出的Recording Setting对话框中选择Iclude选项卡,点击Add,在Protocol选择http / https协议,在Host填写主机地址,在Port填写端口号。点击OK

(2)注意网址前面的√要勾上,再点击OK即可。

(3)这样子就能只抓取到该网址的包了,如果需要其他网址的包,重复上述动作再将其他网址加入即可。包的过滤在Sequence查看

HTTP协议的组成:

URL分析:

https://www.baidu.com/s?ie=utf-8&mod=1&isbd=1&isid=BB86507182278093&ie=utf-8&f=8&rsv_bp=1&rsv_idx=2&tn=baidutop10

协议类型:http /https

主机地址:www.baidu.com

请求地址:/s  (请求地址一定是以 / 开头的)  请求地址代表了网站的不同功能,地址不同,功能不同

URL参数:ie=utf-8&mod=1..  URL参数放在?后面,多个参数使用&作为分隔符

                参数名1=参数值1&参数名2=参数值2&参数名3=参数值3&...

        参数是可选的,不是非必要的.

请求:

请求行:GET / HTTP/1.1

GET:请求类型(请求方法)   请求类型有10多种,最常用的有GET、POST、AUTO...

        GET作用:向服务器请求网站资源

        POST作用:向服务器提交数据

/ : 请求地址(接口地址):不同的请求地址,功能不同

请求头:

请求头是由多个键值对构成的,每行一对,关键字和值用英文冒号分割。请求头可以告诉服务器客户端请求的信息

 User-Agent:产生请求的浏览器类型

Accept:客户端可识别的内容类型列表

Host:请求的主机名,允许多个域名同处一个IP地址,即虚拟主机

Content-Type:请求的MIME类型。MIME类型:描述消息内容类型的因特网标注,常见的有application/jaon 、image/jpeg、application/octet-stream等

请求正文:

向服务器提交的请求数据,GET请求的参数一般是放在请求行后的键值对,post请求的参数类型多样(表单、JSON、XML、图片等)

响应:

响应行:HTTP/1.1 200 OK

HTTP协议1.1版本   200 状态码   OK 响应状态(是对响应状态码的英文翻译)

响应状态码由三位数字组成,第一个数字定义了响应的类别,且有5种可能取值

1xx:指示信息--表示请求已接收,继续处理

2xx:成功--表示请求已被成功接收、理解、接受

3xx:重定向--要完成请求必须进行更进一步操作

4xx:客户端错误--请求有语法错误或请求无法实现

5xx:服务器端错误--服务器未能实现合法的请求

响应头:

服务端回复请求时,携带的参数告诉客户端==相当于给客户端一个反馈

常见的响应头:

content-Length:表示内容长度

content-Type:表示后面的文档属于什么MIME类型

Server:服务器通过这个头告诉浏览器服务器的类型

响应正文:

请求获取到的最终结果(这个结果返回到浏览器)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值