一、介绍

Charles是一款移动端抓包工具,这具有界面简单直观,易于上手,数据请求控制容易,修改简单,抓取数据的开始暂停方便等优势;Charles通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。

二、原理

Charles 的工作原理就是:对客户端伪装成服务器,对服务器伪装成客户端。Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。 过程中,Charles需要拿到服务器证书公钥 和 HTTPS连接的对称密钥,前提是客户端选择信任并安装Charles的CA证书。

三、浏览器抓包

Charles 会自动配置PC端浏览器和工具的代理设置,因此打开 Charles 直接就已经是抓包状态了。直接打开网页就可以使用。注意两点:一是支持抓去http、https协议的请求,不支持socket。
二是防火墙关掉,点击上方的代理—windows代理。

安装证书:
         如果是https请求,可能会出现乱码,还需要安装一下证书:点击Help(帮助) → SSL Proxying(ssl代理) → Install Charles Root Certificate(安装Charles根证书)→点击安装证书 → 存储选择本地计算机→点击将所有的证书都放入下列存储→点击受信任的根证书颁发机构,确定,下一步;→完成。




 抓https设置:
 在Proxy里设置,点击Proxy下的Proxy Settings → 勾选Enable项→配置SSL Proxy Settings→点击SSL Proxy Setting→点击Add添加 → Add 443Port和80Port添加完点击Ok → 配置完毕,重启即可。

 四、过滤请求

由于所有的网络请求都会被抓取,信息太多会对分析造成干扰,因此可以过滤接口的请求。过滤接口的请求方式有 2 种:底部 filter  直接过滤 和 代理 --> Recording Settings 设置。
        直接过滤:直接在 Charles 的 Filter 这栏中填写你要过滤的关键字即可。
        Recording Settings 设置 :选择 Proxy-->Recording Settings。接着在弹出的对话框中,选择 Include, 然后点击 Add 按钮,并按照你的需求设置 Filter。注意:如果你什么都不填写,就表示全部符合条件。

 五、App抓包

Charles也能够抓取来自App发出的HTTP请求,手机抓包需要在电脑端配置下,并且同时需要手机和电脑在同一网络。
        电脑端配置
        启动安装好的Charles抓包工具; 点击【Help】-->【local IP Address】获取下ip地址。

点击【Proxy】-->【Proxy Settings】,设置端口号“8888”;

        手机端设置:
        打开手机的设置页面; 选择【无线局域网】; IOS点击连接的WIFI后面的感叹号,安卓应该是长按连接的WIFI;(注:这里主要以IOS为例) 点击【配置代理】-->【手动】;输入本机【IP地址(192.168.0.104)】以及端口号【8888】,这是我本机的,根据自己情况合理配置; 点击【存储】
        验证:看到Charles里能抓到这个连接,就说明配置没问题,若是unknown,表示没有安装针对手机端的证书,安装即可。

六、抓取手机HTTPS协议

 Charles配置
                点击顶部菜单栏【Help】-->选择【SSL Proxying】,点击【install Charles Root Certificate】安装Charles根证书即可;点击安装【Install Charles Root Certificate On a Mobile Device or Remote Browser】在移动设备上或远程浏览器安装证书;跟上面一样。

七、弱网测试

Charles配置弱网测试,设置代理,限流设置;设置点击【Proxy】-->【Throttle Setting】 ,勾选上【Enable Throttle】,也可以勾选【only for selected host 】 意思是设置一个指定访问进行网络限制,不影响其他软件; 在【Throttle preset】选择常见预设的网络情况,也可在Bandwidth 自己设置网络的上传和下载速率。

八、挟持和篡改数据        

未完待续。。。。

九、如何精准抓包

1、如何抓到需要的数据报文?路径、过滤、record settings;
        2、如何转到基于https协议的数据报文?安装ssl根证书,设置https代理配置,看前面;
        3、抓取APP的数据报文?处于同一网络;设置手机代理,下载设置手机的根证书;

Charles 抓包原理与实践相关推荐

  1. 面试题之--Charles抓包原理

    前言 面试官:面试官问我iOS开发过程中使用了那些抓包工具? 回复:Charles,Wireshark(可以抓取长连接包)等工具 面试官:然后紧接着面试官问我,有没有抓过https的包? 回复:使用C ...

  2. 浅谈HTTPS通信机制和Charles抓包原理-by:nixs

    转载请注明出处:https://blog.csdn.net/zwjemperor/article/details/80719427 主页:https://blog.csdn.net/zwjempero ...

  3. Charles 抓包原理

    t Transfer Protocol Secure),是一种基于SSL/TLS的HTTP,所有的HTTP数据都是在SSL/TLS协议封装之上进行传输的.HTTPS协议是在HTTP协议的基础上,添加了 ...

  4. charles乱码_基于iOS的Charles抓包实践

    奇技指南 在应用开发过程中,通过抓包调试服务端接口的场景时常出现.Charles和Wireshark是开发过程中最常用的两款软件.那么今天,让我们以iOS为例,聊一聊Charles抓包. 本文来自36 ...

  5. fiddler、charles抓包的作用及原理

    一.抓包工具作用:就是将网络传输发送与接收的***数据包***进行截获.重发.编辑.转存等操作,也用来检查网络安全.抓包也经常被用来进行数据截取等(抓包就是抓的数据). 二.测试过程中为什么会需要进行 ...

  6. Charles抓包https

    Charles抓包https 灰灰是只小贱狗 2018.05.08 10:46 字数 762 阅读 7800评论 3喜欢 3 抓取HTTPS请求包,对数据进行排查检验 1.安装Charles 2.电脑 ...

  7. [网络安全自学篇] 十三.Wireshark抓包原理(ARP劫持、MAC泛洪)及数据流追踪和图像抓取(二)

    这是作者的系列网络安全自学教程,主要是关于网安工具和实践操作的在线笔记,特分享出来与博友共勉,希望您们喜欢,一起进步.前文分享了Wireshark安装入门和一个抓取网站用户名和密码的案例,本篇文章将继 ...

  8. 学完这篇Charles抓包教程,我直接把fiddler卸载了

    01.charles简介 charles是一款非常优秀的抓包工具,全平台支持,在mac,windows,linux上都可以使用,既可以抓取web端的包,也可以抓app端的包. charles主要的功能 ...

  9. 【干货】手把手教你如何使用Charles抓包

    一.为什么使用charles 前几天因为需要通过抓包定位问题,打开了尘封已久的fiddler,结果打开软件后什么也干不了,别说手机抓包了,打开软件什么请求也抓不到.很多时候都是如此,如果一个方案不行, ...

  10. 全网最详细charles抓包工具详细教程,实战教程(细致)

    目录:导读 一.前言 二.在PC端抓https包 三.在PC端抓https包 四.在移动端抓http包 五.在移动端抓https包 一.前言 charles相当于一个插在服务器和客户端之间的" ...

最新文章

  1. PicoBlaze中断
  2. BBC称中国人加班时间远超欧美:工作效率未必高
  3. Java处理正则验证手机号-详解
  4. [ext4]07 磁盘布局 - 块/inode分配策略
  5. ERROR! The server quit without updating PID file解决办法
  6. Apache 工作模式配置优化
  7. Struts1.x系列教程(1):用MyEclipse开发第一个Struts程序(二)
  8. php去数组中的数据库,php 数据库 取出数组
  9. sql学习练习题_学习SQL:练习SQL查询
  10. vidalia 更换浏览器代理
  11. BZOJ-3226 校门外的区间 线段数+拆点(类似的思想)
  12. Windows创建新账户进行登录
  13. Spyder使用教程
  14. 双因素方差分析 matlab,MATLAB的双因素有交互效应的方差分析
  15. 如何实现用户名或密码错误,弹出重新登录的提示
  16. 华为畅享20plus能更鸿蒙不,甘南收购华为畅享20Plus尾插排线数据线耳机
  17. [网易2017实习生编程题] 魔力手环
  18. java ieee754_IEEE754浮点数
  19. 面试官:首屏加载速度慢怎么解决?
  20. Qt5.9程序打包发布

热门文章

  1. ​最强全集,数据科学领域,那些你不能不知道的大咖们!
  2. 707. 设计链表(中等 链表)
  3. logstash 导入数据,查看每秒导入的数据量及已导入数量和已导入时间
  4. 用Python写一个简单的24点计算器
  5. C语言:fflush()的用法以及缓冲区的概念
  6. 让硬盘灯不再狂闪,调整Win7系统绝技(转)
  7. 大学生参加Python培训有什么好处
  8. mysqld: [ERROR] Found option without preceding group in config file /etc/my.cnf at line 1
  9. olcd12864的u8g2库_玩转u8g2 OLED库,一篇就够
  10. csp m2 HRZ学英语