前端周边----charles抓包

前言

开发过程当中常常会使用到抓包工具来进行代理。若是你想把测试机或者开发机甚至是线上的文件换成你本地的文件进行快速验证。这种方法会很方便。尤为是遇到线上Bug。本篇文章主要介绍了charles的安装及使用。围绕如下几点:ios

  • charles的安装
  • charles与手机端的代理配置
  • charles的使用

charles的安装

安装这里不作太多赘述。网上处处都是安装教程,步骤也比较简单。有一种更换jar包来破解的方式,不过我的建议仍是在官网下载。而后使用注册码破解便可,提供一组注册码以下正则表达式

// Charles 4.2目前是最新版,可用。浏览器

Registered Name: https://zhile.io安全

License Key: 48891cf209c6d32bf4服务器

charles与手机端的代理配置

配置步骤cookie

  1. 想要将测试机换成本地文件,首先要保证此时这个手机和电脑处于同一局域网之下。
  2. 查询电脑本地ip和charles所占用端口。(电脑ip可使用命令行ipconfig查询。charles占用端口能够在charles的proxy->Proxy Settings查询。咱们使用的是http代理。故HTTP Proxy 的port就是咱们要查询的端口号,通常默认为8888)
  3. 手机链接与电脑相同的wifi,并在wifi设置中手动设置http代理。将刚才查询的电脑ip和charles端口号输入便可。(通常长按wifi或点击所连wifi后的!便可进入http代理设置)
  4. 用手机进入任意会向服务器发起请求的网页,此时的charles会弹出一个对话框,点击allow便可

常见的问题网络

  • 抓到的包显示unknow或乱码。

形成这个问题的缘由是访问了https网页。因为https的安全性,须要下载相关的信任证书才能够正常使用。进入charles的Help->SSL Proxying->install charles root certificate为电脑下载证书。这里建议一开始下载时就将证书存储在受信任的根证书颁发机构,后面就不须要再添加信任了。此外,手机也须要下载证书,一样进入charles的Help->SSL Proxying->install charles root certificate on a mobile device or remote browser而后在手机上输入弹出对话框的网址便可下载证书。如今应该能够正常使用了。并发

  • iOS相关

在ios端下载证书时,打开网址后按照提示安装描述文件,这里它会自动引导你去验证,跟着提示操做就能够了。可是此时返回charles仍是没法正常抓包。这时其实还有一个信任证书的设置。须要打开 设置->通用->关于本机->证书信任设置。勾选刚刚安装的证书,此时就能够正常使用了。工具

charles的使用

开发过程当中,咱们主要会使用抓包工具来定位bug位置。如今,先来认识一下charles的界面。charles有两种界面分别是structure和sequence。structure视图是将网络请求按访问的域名分类,Sequence 视图是将网络请求按访问的时间排序。工具栏功能用下图说明测试

此外,charles拥有不少使用起来很方便的功能,下面来介绍几个功能。

过滤网络包

咱们在抓取请求时,许多时不须要关注的资源请求。这时候能够经过过滤网络包来过滤掉这些请求,在这里有三种实现方式。

  • 第一种

直接在sequence中的filter输入须要过滤的东西。能够是简单的网址甚至是关键字,就会只保留这一部分的请求,复杂一点的能够点击后面的setting,使用正则表达式。

  • 第二种

右键须要过滤的网址。点击Focus,而后选中Filter后面的Focussed

  • 第三种

点击charles中的Proxy->Recording Settings,选择弹出框中的include栏。点击Add。填入须要监控的协议,主机地址,端口号。

这三种方法的区别是,前两种主要适用于一些临时的过滤,第三种是常常性过滤。

压力测试

当咱们须要对一个地址不停的请求访问,作压力测试时。首先选中这个地址,而后打开Tools->Advanced Repeat。在弹出框中选择并发线程数和打压次数就能够开始测试了。

修改服务器返回内容

charles提供了Map功能、Rewrite功能以及Breakpoints功能。均可以达到修改服务器返回内容的目的。下面,逐一介绍这三种功能。

Map功能

charles的Map分为Map Remote和Map Local两种。Map Remote是将网络请求重定向到另外一个网址请求地址,Map Local是指将网络重定向到本地文件。

  • Map Local

右击须要重定向到本地文件的请求点击Save Response。记住存储在本地的位置。而后进入Tools->Map Local勾选Enable Map Local。点击Add添加你要定向到哪一个网址的URL。在弹出框中填写该网址,而且在下面的Map To填写刚刚记住的本地位置。点击全部OK后在浏览器输入刚设置的URL,能够看到,该URL对应的网页被重定向到本地文件了。

  • Map Remote

进入 Tools->Map Remote 我这里是把baidu的网址定向到taobao

Rewrite功能

Rewrite功能能够对请求响应的内容进行修改。首先Tools->Rewrite。勾选Enable Rewrite,添加一个set。举例以下图

将cookie中的ctid从18修改为11

Breakpoints功能

Breakpoints和普通IDE同样都是断点调试。它不只能够拦截客户端的request、response还能够进行修改。 对须要过滤的网址右击选中Breakpoints。而后在工具栏中点击断点按钮,此时在网页发起请求后能够看到程序被中断到Request,这个时候能够修改相关参数。

修改结束点击Execute能够结束当前中断获得服务器响应。获得服务器响应后咱们依然能够编辑直到点击Execute。

限制网络速度,模拟慢网

charles能够达到模拟各类网络环境的效果,能够在Proxy->Throttle Setting进行设置

以上。

相关文章
相关标签/搜索