iOS抓包利器Charles
iOS抓包利器Charles
http://wonderffee.github.io/blog/2013/07/13/best-packet-capture-tool-charles-in-ios/
看唐巧的分析支付宝客户端的插件机制一文发现他使用了抓包工具Charles,想起去年有人给我推荐过这个工具,但是当时我觉得WireShark就够用了就没尝试。这次看到又有人使用Charles我就重视起来了,Charles到底有什么好?
搜了一下,发现大多数使用者都是将Charles作为移动端抓包工具使用的,这样就意味着我们可以用Charles来截取iPhone/iPad上app所发出的网络请求来进行分析,分析支付宝客户端的插件机制一文就是这么用的。WireShark显然做不到这一点,优势一下子就体现出来了。
在Mac上安装Charles后,启动Charles,首先弹出一个框提示是否允许Charles有自动修改网络设置的权限,选择允许后出现Charles主界面。Charles主界面左侧有Structure和Sequence,你会发现会发现Structure这一栏里会逐步出现当前我的mac正在请求的链接,也就是说Charles一启动就自动进行抓包了。不过遗憾的是Structure栏里没有过滤选项,意味着你不能过滤特定网站。切换到Sequence栏,这个就容易懂了,按时间顺序来排列的,与WireShark一致。下方的Filter可以过滤,而是还是实时过滤的,这一点就比WireShark强多了。


如何在Mac上用Charles远程抓iPhone上app的网络请求呢?方法相当简单,下面就提供了HTTP和HTTPS抓包的操作步骤,简单几步就搞定了。
HTTP抓包
- 打开Charles程序
- 查看Mac电脑的IP地址,如192.168.1.7
- 打开iOS设置,进入当前wifi连接,设置HTTP代理Group,将服务器填为上一步中获得的IP,即192.168.1.7,端口填8888
- iOS设备打开你要抓包的app进行网络操作
- Charles弹出确认框,点击Allow按钮即可
HTTPS抓包
- 下载Charles证书http://www.charlesproxy.com/ssl.zip,解压后导入到iOS设备中(将crt文件作为邮件附件发给自己,再在iOS设备中点击附件即可安装;也可上传至dropbox之类的网盘,通过safari下载安装)
- 在Charles的工具栏上点击设置按钮,选择Proxy Settings…
- 切换到SSL选项卡,选中Enable SSL Proxying,别急,选完先别关掉,还有下一步
- 这一步跟Fiddler不同,Fiddler安装证书后就可以抓HTTPS网址的包了,Charles则麻烦一些,需要在上一步的SSL选项卡的Locations表单填写要抓包的域名和端口,点击Add按钮,在弹出的表单中Host填写域名,比如填api.instagram.com,Port填443
我简单试用了一下Charles的远程抓包功能,发现Charles比WireShark还有一个优势是能对JSON数据(在JSON Text栏)进行解析,从而让我们可以更直观地查看JSON串信息(在JSON 栏)。此外Charles对中文支持比较好,JSON串中的中文信息一般会显示为一长串的\ug开头的字符,解析之后就能显示出中文了。平常总头痛Wireshark对中文支持不好,用Charles就完全没有这个问题了。
参考资料:
使用Charles远程调试iOS移动应用
mac下的抓包工具Charles
Posted by wonderffee Jul 13th, 2013
原创文章,版权声明:自由转载-非商用-非衍生-保持署名 | Creative Commons BY-NC-ND 3.0
iOS抓包利器Charles的更多相关文章
- iOS抓包工具Charles
Charles安装 HTTP抓包 HTTPS抓包 1. Charles安装 官网下载安装Charles:https://www.charlesproxy.com/download/ 2. HTTP ...
- 谈iOS抓包:Mac下好用的HTTP/HTTPS抓包工具Charles
在Mac下做开发,用Fiddler抓包由于离不开Windows比较痛苦,还好有Charles,到官网http://www.charlesproxy.com/可下载到最新版本(若不支持rMBP可拖到Re ...
- 5分钟搞定iOS抓包Charles,让数据一清二楚
Charles安装 HTTP抓包 HTTPS抓包 1. Charles安装 官网下载安装Charles:https://www.charlesproxy.com/download/ 2. HTTP ...
- mac端的优秀抓包工具——Charles使用
http://my.oschina.net/u/2340880/blog/508688 mac端的优秀抓包工具——Charles使用 一.简介 二.安装与使用 三.使用Charles在mac上进行抓包 ...
- Mac用户抓包软件Charles 4.0 破解 以及 抓取Https链接设置
相信大家曾经都是Window的用户,作为前端哪能没有一款抓包工具,抓包工具可以非常便捷的帮助我们分析接口返回报文数据,快速定位问题. 曾经横扫window用户的Fiddler便是我们的挚爱,然而,作为 ...
- Mac平台下的抓包神器 —— Charles
在开发界,“抓包”这个词想必大家耳熟能详.通过抓包工具,能够获取设备在网络通讯过程中的交换数据包.在 Windows 平台上,笔者使用较多的是 Fiddler 工具,但是由于 Fiddle 使用 C# ...
- 抓包工具Charles简单使用介绍(可抓取Android中app的请求)
摘自: 作者:Roy_Liang链接:http://www.jianshu.com/p/5539599c7a25 Charles安装 HTTP抓包 HTTPS抓包 1. Charles安装 官网下 ...
- mac下的抓包工具Charles
在mac下面,居然没有好的抓包工具,这让我十分纠结,毕竟不可能为了抓一个http包就跑到win下折腾.或许有人说tcpdump这么好的工具,你怎么不用.说实话,tcpdump太复杂了,我还没有细看,再 ...
- 手机抓包软件Charles安装使用实例 (流媒体播放测试可去下载的时刻检测)
手机抓包软件Charles安装使用实例 浏览:5258 发布日期:2015/07/17 分类:技术分享 关键字: 手机抓包软件 Charles 大胡子的博客Charles安装使用实例 Charle ...
随机推荐
- hibernate概述
转自:http://www.cnblogs.com/eflylab/archive/2007/01/09/615338.html Hibernate的核心组件在基于MVC设计模式的JAVA WEB应用 ...
- Spring知识点提炼
原文出处: 朱小厮 1. Spring框架的作用 轻量:Spring是轻量级的,基本的版本大小为2MB 控制反转:Spring通过控制反转实现了松散耦合,对象们给出它们的依赖,而不是创建或查找依赖的对 ...
- http、tcp、udp、OAUTH2.0网络协议区别
一.先来一个讲TCP.UDP和HTTP关系的 1.TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层. 在网络层有IP协议.ICMP协议.ARP协议.RAR ...
- mybatis 使用经验小结
一.多数据源问题 主要思路是把dataSource.sqlSesstionFactory.MapperScannerConfigurer在配置中区分开,各Mapper对应的包名.类名区分开 <? ...
- 【笔记5】用pandas实现矩阵数据格式的推荐算法 (基于物品的协同)
''' 基于物品的协同推荐 矩阵数据 说明: 1.修正的余弦相似度是一种基于模型的协同过滤算法.我们前面提过,这种算法的优势之 一是扩展性好,对于大数据量而言,运算速度快.占用内存少. 2.用户的评价 ...
- IIS部署SSL,.crt .key 的证书,怎么部署到IIS,记录一下,以免忘记。
SSL连接作用不说,百度很多.因为最近想考虑重构一些功能,在登录这块有打算弄成HTTPS的,然后百度了,弄成了,就记录一下,以便以后万一部署的时候忘记掉. 做实验的时候,拿的我个人申请的已经备案的域名 ...
- RapidJSON 代码剖析(四):优化 Grisu
我曾经在知乎的一个答案里谈及到 V8 引擎里实现了 Grisu 算法,我先引用该文的内容简单介绍 Grisu.然后,再谈及 RapidJSON 对它做了的几个底层优化. (配图中的<Grisù& ...
- no result defined for action
1.no result defined for action .......and result input 或者 no result defined for action .......and ...
- Hadoop---Google MapReduce(转)
1. MapReduce是干啥的 因为没找到谷歌的示意图,所以我想借用一张Hadoop项目的结构图来说明下MapReduce所处的位置,如下图. Hadoop实际上就是谷歌三宝的开源实现,Hadoop ...
- github-windows本地安装
Step1 准备工作 msysgit,下载地址为 http://msysgit.github.io/ . Eclipse IDE for Java EE Developers(必须是这个,自带Egit ...