Charles简介
Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当浏览器连接Charles的代理访问互联网时,Charles可以监控浏览器发送和接收的所有数据。
它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request, response和HTTP headers (包含cookies与caching信息)。


1. 下载&安装

官网下载:https://www.charlesproxy.com/latest-release/download.do

下载完成,要是没有桌面图标可以手动进行添加

2、在线破解工具使用,在线生成 注册名和注册秘钥 

工具地址:https://www.zzzmode.com/mytools/charles/

3.  下面是破解操作步骤【很关键的一步,如果不破解就无法正常使用】

 

打开 Charles 进入help—>Register Charles,在弹出框中输入如下信息(你注册的):
Registered Name:lingajijun
License Key:ec75fe257748c84613

输入后,点击:Resgister
出现如下图所示信息,则注册成功。

二.   配置

主要解决两个问题:
1. 访问带https网站被拦截问题
2. 访问带https网站出现乱码问题。

3.1 解决访问https网站被拦截问题
1、进入help—>SSL Proxying—>Install Charles Root Certificate
2、进入后,根据窗口提示,安装进相应位置。提示为将该证书安装到"受信任的根证书颁发机构"
3、点击安装证书,出现如下窗口,选择“本地计算机”,点击"下一步"
4、选择“将所有的证书与都放入下列存储”,并通过“浏览”选择存储位置。根据之前的提示,这里我们需要选择存储到“受信任的根证书颁发机构”
5、继续按照提示点击下一步,直到出现提示成功的窗口,则证书安装成功。

如果证书位置安装错误想删除或者想查看安装的证书,可以通过控制面板—>搜索“证书”—>管理计算机证书
找到之前安装的位置,会出现此目录下所有证书,此时可以选择删除之前安装错误的证书或者查看相关证书。

解决抓取内容出现乱码问题
安装好后的Charles打开有的页面显示为乱码,这是因为https网页的请求默认不解析,所以会呈现乱码状态。但是我们可以通过设置让Charles来解析https网页.
1、Proxy—>SSL Proxying Settings
2、进入设置窗口,Host填为,代表后面出现的任意Host,port设置443*
3、设置好后重启软件,刷新一下百度首页。这时就可以正常抓取百度首页并解析

三.  抓包

1、charles的说明

Charles其实是一款代理服务器,通过过将自己设置成系统(电脑或者浏览器)的网络访问代理服务器,然后截取请求和请求结果达到分析抓包的目的。该软件是用Java写的,能够在Windows,Mac,Linux上使用。安装Charles的时候要先装好Java环境。

Charles的主要功能:

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

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

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

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

(5)支持模拟慢速网络。

2、Web 抓取HTTPS协议

(1)安装ssl证书

帮助-->SSL代理--->安装charles证书

2.2 点击安装证书 -> 本地计算机 -> 将所有证书都放到下列储存 -> 点击下一步完成即可

2.3  设置设置HTTP/HTTPS协议端口
Proxy -> SSL Proxying Settiongs 在弹出选项卡中,勾选【Enable SSL Proxying】点击【add】
添加以下Host和Port

1. *:*
2. *:443
3. *:80 解释:
在Host输入【*】表示接收任何主机
80是http协议的默认端口
443是https协议的默认端口

(2)打开抓取web端设置
Proxy -> Windows Proxy 勾选中即可

2.5 访问 www.baidu.com 能够抓取到接口并且接口下有数据表示成功

注意:如果接口下抓取是unknown表示失败
1. 协议未配置
2. 证书未安装
3. 防火墙未关闭

3.  Charles手机抓包证书安装(IOS)
App抓包
Charles抓包不仅仅可以抓取来在电脑端的HTTP请求,也能够抓取来自App发出的HTTP请求,但是手机抓包需要在电脑端配置下,并且同时需要手机和电脑在同一网络下并且手机VPN也需要关闭

3.1   端口号设置 Proxy -> Proxy Setting 默认端口号 8888

3.2   查看自己IP地址和端口号和下载证书网址

3.3   手机端设置:
1,打开手机的设置页面;
2,选择【无线局域网】;
3,IOS点击连接的WIFI后面的感叹号,安卓应该是长按连接的WIFI;(注:这里主要以IOS为例)
4,点击【配置代理】–>【手动】;
5,输入本机【IP地址】以及【端口号】,根据自己情况合理配置;
6,点击【存储】

再次说明:服务器IP和端口号需要用到自己的IP和Charles上设置的端口
查看方法:Help -> SSl Proxying -> Install Charles Root Certificate on a mobile Device or Remote Browser(步骤3.2 有截图)

3.4 检验代理配置是否成功
打开浏览器验证下手机请求,当我们看到Charles里能抓到这个连接,就说明配置没问题,看到unknown,这个不要紧,
那是我们没有安装针对手机端的证书,下面继续我们手机端HTTPS证书安装

通过上面的设置,虽然来自我们手机端的Http协议请求可以抓取到,但是HTTPS协议的包是不能抓取的,
需要安装配置证书才可以,现在手机上大多数都已经切到https很少由http协议的了

3.5   Charles配置:
手机打开浏览器输入 chls.pro/ssl,如下提示,点击允许(如果下载失败,请更换浏览器重新在下)

3.6  进入设置 -> 描述文件与设备管理 -> 点击未安装的证书进行安装

3.7 安装成功后需要在 通用 -> 关于本机 -> 证书信任设置 中勾选Charles证书(针对于IOS手机)

最后,重新打开charles,手机访问网页/app就可以了

注意事项:
手机和电脑需要在同一网络下
手机VPN需要关闭
不同电脑对应不同证书,所以说你连接其他电脑需要重新下载手机证书
如果抓出来的接口显示Unknown可以把防火墙关闭,再打开charles重新抓取

=============================================================================================================================================

(3)配置抓包,填入默认代理端口 8888,且勾选 “Enable transparent HTTP proxying” 就完成了设置。

3、手机端抓包

(1)使手机和电脑在同一个局域网内

手机和电脑必须在同一个网络/wifi里,手机选择和电脑相同wifi—>长按此wifi弹框中选择修改网络—>显示高级选项—>服务器主机名输入框中输入电脑ip地址,服务器端口号填写8888——>保存即可,此时手机和电脑绑定在一起一遍电脑抓手机上请求网络数据.

第一步:手机安装SSL证书

进入"Help"->"Install Charles Root Certificate on a Mobile Device or remote Browser",点击

这时会有一个弹框,意思是要给手机设置代理,内容是192.168.1.103:8888,然后用手机浏览器打开chls.pro/ssl

点击立即下载

在手机设置->高级设置->安全里开启未知来源应用下载和外部来源应用安装

在手机文件管理里找到证书,将后缀pem改成crt,点击安装即可

这时发现手机上的HTTPS也能抓取下来了


1. charles安装配置与抓包详解的更多相关文章

  1. tcpdump安装配置及抓包分析

    http://blog.csdn.net/e421083458/article/details/23963189 cpdump安装配置及抓包分析 预装软件:[plain] view plain cop ...

  2. centos6.4安装配置vpn服务器步骤详解

      centos6.4安装配置vpn服务器步骤详解,从安装VPN到配置VPN服务器.配置VPN服务器的路由转发功能,每一步都很详细   一.VPN服务器环境说明 操作系统:CentOS release ...

  3. 2.TCP_IP互联线缆_TCP_UDP报文抓包详解

    TCP_IP互联线缆_TCP_UDP报文抓包详解 2.1网线标准 直通线 交叉线 异种设备互联使用直通线 同种设备互联使用交叉线 TCP和UDP 端口寻址 TCP数据格式 TCP三次握手 UDP数据格 ...

  4. charles抓包详解http 与 https

    包工具多种多样,比较好使的还是Charles和Fiddler,下面就简单的介绍下HTTPS的相关原理并以Charles为例来介绍下如何抓取HTTPS协议的包 1.下载charles 可以去charle ...

  5. fiddler抓包详解

    image.png 前言 fiddler是一个很好的抓包工具,默认是抓http请求的,对于pc上的https请求,会提示网页不安全,这时候需要在浏览器上安装证书. 一.网页不安全 1.用fiddler ...

  6. 转:APP开发浅谈-Fiddler抓包详解

    原文地址:http://www.luoxudong.com/?p=306 Fiddler抓包工具在APP开发过程中使用非常频繁,对开发者理解HTTP网络传输原理以及分析定位网络方面的问题非常有帮助.今 ...

  7. APP开发浅谈-Fiddler抓包详解

    Fiddler抓包工具在APP开发过程中使用非常频繁,对开发者理解HTTP网络传输原理以及分析定位网络方面的问题非常有帮助.今天抽点时间出来总结一下Fiddler在实际开发过程中的应用. 我开发过程中 ...

  8. 抓包工具Fidder移动端HTTP请求抓包详解

    第一步:下载神器Fiddler,下载链接: http://fiddler2.com/get-fiddler 下载完成之后,傻瓜式的安装一下了! 第二步:设置Fiddler打开Fiddler,     ...

  9. CentOS 7.0安装配置Vsftp服务器步骤详解

    安装Vsftp讲过最多的就是在centos6.x版本中了,这里小编看到有朋友写了一篇非常不错的CentOS 7.0安装配置Vsftp服务器教程,下面整理分享给各位. 一.配置防火墙,开启FTP服务器需 ...

随机推荐

  1. python-binasscii模块学习

    作用 binascii模块包含很多在二进制和ASCII编码的二进制表示转换的方法.通常情况不会直接使用这些功能,而是使用像UU,base64编码,或BinHex封装模块. binascii模块包含更高 ...

  2. 你也可以很硬核「GitHub 热点速览 v.22.13」

    本周特推介绍了一个非常易上手,操作难度(主要难度在于机件购买)极低的硬件项目,SmartKnob 让你有个可玩性极高的控制仪.本周特推另外一个项目则是一个安全项目,打破你对 URL 是可靠.安全的认知 ...

  3. 程序语言与编程实践7-> Java实操4 | 第三周作业及思路讲解 | 异常处理考察

    第三周作业,可能是异常那一章当时没怎么听,此前也不怎么接触,感觉还挺陌生的. 00 第1题 00-1 题目 /* * To change this license header, choose Lic ...

  4. docker容器登录,退出等操作命令

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口 ...

  5. JDBC中大数据量的分页解决方法?

    最好的办法是利用sql语句进行分页,这样每次查询出的结果集中就只包含某页的数据内容. sql语句分页,不同的数据库下的分页方案各不一样,下面是主流的三种数据库的分页sql: oracle: selec ...

  6. final, finally, finalize的区别?

    final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承.内部类要访问局部变量,局部变量必须定义成final类型.finally是异常处理语句结构的一部分,表示总是执行.fin ...

  7. 关于TP框架

    TP的特性有哪些? 1.多表查询非常方便,在model中几句代码就可以完成对多表的关联操作. 2.融合了smarty模板,使前后台分离 3.支持多种缓存技术,尤其对memcache技术支持非常好 4. ...

  8. nginx 负载均衡详解

    配置文件 upstream abc { server 192.168.2.188:8080 weight=1 max_fails=3 fail_timeout=30; 定义集群,weight=权重轮询 ...

  9. ubuntu vmware kernel module updater

    Ubuntu 19.04 - VMWare内核模块更新程序问问题 4 3我运行了这个命令: apt-cache search linux-headers-$(uname -r)它返回输出 linux- ...

  10. Altium design16设计技巧

    第一栏:共有界面 1.在原理图和PCB都打开的情况下,选中原理图可以对应到PCB界面元件里面 第二栏:原理图界面 1.批量改变元件属性 选择某一元件-查找相似对象-将其要改变的内容设置为same-点击 ...