• 首先,设置手机的网络连接电脑共享wifi,同时设置端口号;
  • 其次,涉及到https抓包时,需要设置手机安装和信任ssl证书,以及设置Charles中ssl的配置。

一、下载与安装
Charles:charles-proxy-3.10.2.dmg
javaSDK:javaforosx.dmg

二、网络环境与手机的配置
1、开启电脑共享wifi,同时设置主机代理与端口号
(1)系统偏好设置——>共享——>互联网共享;
(2)系统偏好设置——>网络——>以太网——>高级——>DHCP客户端ID(默认8888);

2、设置手机代理
(1)查看IP地址:终端命令ifconfig查看,或系统偏好设置——>网络——>以太网——>IP地址
(2)设置——>wifi或无线局域网——>已连接共享wifi名称——>HTTP代理——>手动——>服务器(电脑ip地址)、端口(8888);

三、抓包
1、http抓包
可以清楚的查看到发送的请求头信息,以及服务器返回的没有加密处理的明文信息。
(1)查看请求信息:Structure-Request
(2)查看返回信息:Structure-Response-Text,或JSON

2、https抓包

注意:主要是配置手机端和Charles端的SSL证书。

HTTPS(Hyper Text Transfer Protocol Secure),是一种基于SSL/TLS的HTTP,所有的HTTP数据都是在SSL/TLS协议封装之上进行传输的。HTTPS协议是在HTTP协议的基础上,添加了SSL/TLS握手以及数据加密传输,也属于应用层协议。所以,研究HTTPS协议原理,最终就是研究SSL/TLS协议。
HTTPS是通过一次非对称加密算法(如RSA算法)进行了协商密钥的生成与交换,然后在后续通信过程中就使用协商密钥进行对称加密通信。

Charles抓HTTPS包原理
Charles本身是一个协议代理工具,如果只是普通的HTTP请求,因为数据本身没经过再次加密,因此作为代理可以知道所有客户端发送到服务端的请求内容以及服务端返回给客户端的数据内容,这也就是抓包工具能够将数据传输内容直接展现出来的原因。对于HTTPS请求,4,6,8步骤的数据都已经经过了加密,代理如果什么都不做的话是无法获取到其中的内容的。为了实现这个过程的数据获取,Charles需要做的事情是对客户端伪装服务端,对服务端伪装客户端,具体截获真实客户端的HTTPS请求,伪装客户端向真实服务端发送HTTPS请求接受真实服务器响应,用Charles自己的证书伪装服务端向真实客户端发送数据内容一般情况下HTTPS中是客户端对服务端做证书校验,当然也有一些金融机构会有用户证书作为提供给服务端做用户认证的工具,保证发出请求的的确是这部分授权用户。我们仅分析客户端对服务单做证书校验的这种。Android有自己的一套HTTPS通信调用方式,以HttpsURLConnection为例

URL url = new URL(“https://wikipedia.org”);
URLConnection urlConnection = url.openConnection();
InputStream in = urlConnection.getInputStream();
copyInputStreamToOutputStream(in, System.out);  

上面这段代码就是一个https请求的样例,这种方法的特点是证书校验工作交由系统处理,系统只会允许可信CA签发的数字证书能够访问,私有CA签发的数字证书(比如12306以及我们上文说的Charles证书)是无法访问的。
访问方法1:修改Https通信代码,这种只对开发者开发应用的时候好使,我们需要实现X509TrustManager接口去做自己的一套证书校验,它并不通用,尤其是对于我们抓包而言是不可行的,因为我们没法去修改别人应用中的代码。
访问方法2:将私有CA签发的数字证书安装到手机中并且作为受信任证书保存,这种方式是我们推荐的方式,唯一的缺点是你的手机上可能会在通知栏一直留着一个特殊标志,告诉你网络可能被监控。

(1)手机端配置证书
通过手机浏览器打开网址:http://charlesproxy.com/getssl

注意:安装后ssl证书后,还需要主动设置信任(设置——>通用——>关于本机——>证书信任设置)

(2)pc端Charles配置证书

注意:
(1)未设置前https的标识都是有个加锁有标识
(2)Host设置,如果不知道具体的API地址时,可设置为星号" * "
(3)Port设置,设置时Port默认都是443

https请求及返回的信息未设置ss证书时,抓包数据均是乱码,且接口API标识为黄色警告;设置ssl证书后,则能正常显示。

iOS抓包工具Charles的使用相关推荐

  1. iOS抓包工具Charles基本抓包步骤

    准备工作: 1. 抓包工具Charles3.9.3下载 2. 搭建Java环境(可以忽略此处.具体相应的版本,可以在安装Charles时,根据提示点击,会自动匹配对应版本) 破解版安装 1.安装Cha ...

  2. iOS 抓包工具 charles工具

    在Charles官网下载最新的 安装包 在电脑上安装完成之后,以 注册码 Registered Name: https://zhile.io License Key: 48891cf209c6d32b ...

  3. iOS抓包工具Charles 4.0.1破解版

    链接: https://pan.baidu.com/s/1eSM5SFrQD6l-k0K9GjinYg 密码: ef2r

  4. 【爬虫】网页抓包工具--Charles的使用教程

    抓包工具Charles的使用教程 参考:https://zhubangbang.com/charlesproxy 如果您是您一次使用Charles,可能对下面的感兴趣. Charles破解版免费下载和 ...

  5. 网络抓包工具Charles的介绍与使用

    在复杂的App开发过程中,我们会涉及各种复杂的网络操作,各种API的调用和数据接收.如果我们只是通过控制台来查看网络的输入输出,就会非常麻烦.在Mac上有一款非常优秀的网络抓包工具--Charles, ...

  6. 安利一个Mac下好用的抓包工具-Charles

    Charles:让天底下没有难抓的包. 前言 今天给大家推荐一个我所使用过的抓包工具中最好用的抓包工具-Charles(音译:查尔斯),它可以抓各端发起的网络请求,我主要用来抓移动设备上的请求,上次小 ...

  7. Mac抓包工具—— Charles相关总结

    初识此抓包工具是在15年,最早关于此的一篇创建时间为2015年11月9日,后面每次换工作陆陆续续在新公司电脑上安装过几次, 在此期间可谓是温故而知新,网上有很多现成的总结很到位的文章,我便偷了懒,没有 ...

  8. 抓包工具charles下载安装使用

    抓包工具charles下载安装(MAC版) 什么是charles? charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当浏览器连接Charles的代理访问互联网时,Charles ...

  9. 抓包工具Charles(二)-移动端APP抓包(设置手机代理、安装证书)

    安装好Charles之后,还只能捕获电脑的接口请求 想要抓取移动设备的APP还需要设置代理.安装证书. 文章目录 一.抓包原理 二.手机设置网络代理 1. 查看电脑的IP地址(local IP add ...

最新文章

  1. java压缩解压缩类实例[转]
  2. 利用统计滤波方法去除空中漂浮物 以及去噪
  3. codeforces round 421 div2 补题 CF 820 A-E
  4. python 基础 9.0 安装MySQL-python-1.2.5客户端
  5. 【297天】我爱刷题系列056(2017.11.29)
  6. how to prepare reading club
  7. cordova报错:Could not find an installed version of Gradle either in Android Studio, or on your system
  8. Codeforces Round #737 (Div. 2)
  9. 40种网站设计常用方法
  10. solidity event是什么
  11. VMware vCloud Director视频教程
  12. Hadoop KMS 透明加密配置以及测试
  13. 开始学习爬虫:爬虫之爬取电影天堂网站资源到本地mysql数据库
  14. ftp文件服务器存储空间,查看ftp服务器存储空间
  15. CSDN改变图片大小
  16. [后缀自动机 模板题 || 字符串Hash] HDU 4622 Reincarnation
  17. MEM/MBA 复试准备(01)复试流程与内容
  18. 性价比高的口粮酒推荐,聪明人都选这3款,口感醇厚,纯粮好喝
  19. Adobe系列软件大全
  20. 数学建模计算机配置,数学建模资源配置问题.doc

热门文章

  1. 呕心沥血铸造—接口自动化测试面试题及答案
  2. UNITY 文件路径整理(偷的)
  3. 虚拟服务器安装流程,虚拟主机安装WordPress教程,小白虚拟主机WordPress安装教程,流程很详细...
  4. 华为和思科mac地址和IP地址绑定
  5. CSS如何让div隐藏?
  6. c语言关键字 interrupt,Keil C51对C语言的关键词扩展之十四: interrupt
  7. 简易理解设计模式之:桥接模式——穿衣服经典案例2
  8. 免费PPT免费资源站点分享,拿走记得点个赞哦
  9. PowerBuilder学习笔记(If语句)
  10. 部分游戏开发工具(转载)