1. charles安装配置与抓包详解
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安装配置与抓包详解的更多相关文章
- tcpdump安装配置及抓包分析
http://blog.csdn.net/e421083458/article/details/23963189 cpdump安装配置及抓包分析 预装软件:[plain] view plain cop ...
- centos6.4安装配置vpn服务器步骤详解
centos6.4安装配置vpn服务器步骤详解,从安装VPN到配置VPN服务器.配置VPN服务器的路由转发功能,每一步都很详细 一.VPN服务器环境说明 操作系统:CentOS release ...
- 2.TCP_IP互联线缆_TCP_UDP报文抓包详解
TCP_IP互联线缆_TCP_UDP报文抓包详解 2.1网线标准 直通线 交叉线 异种设备互联使用直通线 同种设备互联使用交叉线 TCP和UDP 端口寻址 TCP数据格式 TCP三次握手 UDP数据格 ...
- charles抓包详解http 与 https
包工具多种多样,比较好使的还是Charles和Fiddler,下面就简单的介绍下HTTPS的相关原理并以Charles为例来介绍下如何抓取HTTPS协议的包 1.下载charles 可以去charle ...
- fiddler抓包详解
image.png 前言 fiddler是一个很好的抓包工具,默认是抓http请求的,对于pc上的https请求,会提示网页不安全,这时候需要在浏览器上安装证书. 一.网页不安全 1.用fiddler ...
- 转:APP开发浅谈-Fiddler抓包详解
原文地址:http://www.luoxudong.com/?p=306 Fiddler抓包工具在APP开发过程中使用非常频繁,对开发者理解HTTP网络传输原理以及分析定位网络方面的问题非常有帮助.今 ...
- APP开发浅谈-Fiddler抓包详解
Fiddler抓包工具在APP开发过程中使用非常频繁,对开发者理解HTTP网络传输原理以及分析定位网络方面的问题非常有帮助.今天抽点时间出来总结一下Fiddler在实际开发过程中的应用. 我开发过程中 ...
- 抓包工具Fidder移动端HTTP请求抓包详解
第一步:下载神器Fiddler,下载链接: http://fiddler2.com/get-fiddler 下载完成之后,傻瓜式的安装一下了! 第二步:设置Fiddler打开Fiddler, ...
- CentOS 7.0安装配置Vsftp服务器步骤详解
安装Vsftp讲过最多的就是在centos6.x版本中了,这里小编看到有朋友写了一篇非常不错的CentOS 7.0安装配置Vsftp服务器教程,下面整理分享给各位. 一.配置防火墙,开启FTP服务器需 ...
随机推荐
- [第四届世安杯](web)writeup
ctf入门级题目 <?php $flag = '*********'; if (isset ($_GET['password'])) { if (ereg ("^[a-zA-Z0-9] ...
- SQLMap参数命令
SQLMap参数命令 --method=<http方法> 指定使用的http方法 --data=<post数据> 提交post数据并对post数据进行测试 --param- ...
- TetBrains产品快捷键大全
快捷键大全
- Python执行机制
1.4 Python执行机制 Python中IDLE是其自带的集成开发工具(IDE:同时拥有编辑.编译.调试.运行等多种功能的集成工具),并且它也是Python自带的编译器和解释器. 1.4.1 Py ...
- 序列化和反序列化&持久化
java序列化与反序列化全讲解 之前一知半解的,对于序列化的概念,为啥用,哪里用也不清楚,现在深入了解协议,先把序列化这个这个概念和和使用场景搞清楚
- SpirngMVC源码分析
分析过程 通过 前端控制器源码 分析 SpringMVC 的执行过程 前端控制器在 web.xml 文件中的配置 <!-- springmvc 前端控制器 --> <servlet& ...
- 当心,你搞的Scrum可能是小瀑布
摘要:有的团队刚接触Scrum,一个问题令他们很困扰:迭代初期开发人员的工作较多,测试人员闲着:迭代末期开发人员闲着,测试人员的工作比较多,怎么解决资源等待的问题呢? 本文分享自华为云社区<当心 ...
- Linux基础学习 | gcc、g++的安装和使用
安装gcc 1.apt-get命令是debain Linux发新版的APT软件包管理工具. dabian.ubuntu.deepin等Linux系统通过以下命令: 安装gcc:Shell输入sudo ...
- 隐藏IE10默认在input框输入内容后显示“X”按钮
::-ms-clear{display: none;} ::-ms-reveal{display: none;}
- 自己给idea下载Scala插件
场景:有时候在idea上直接下载的scala可能因为太新所以有bug,需要手动下载插件 经验:自己下载完之后发现比较老的版本idea根本不让你装,只能装一些跟idea上推荐的scala相近的版本,感觉 ...