专栏首页子曰五溪分享 | Charles 力助分析网络封包

分享 | Charles 力助分析网络封包

Charles是Mac平台下常用的调试工具,用来分析网络通信协议,这个功能在做移动端开发时非常有用,因为有时候你不得不通过抓包来分析通信定位问题,移动端开发跟Web不同,IDE并不会像Chrome Dev Tools一样,给你提供网络通信协议的封包,而Charles正好代替了这一块的需求。这是一个Mac版的App,你可以去官网(https://www.charlesproxy.com/)下载,然后安装即可。需要额外提一点的是,Charles是一款收费软件。

Charles除了抓包移动端外,也可以将它设置为系统代理,你可以在这个面板中查看一些具体的信息。从上图中,你可以看见music.163.com的娱乐,这其实是从网易云音乐Mac客户端中抓包出来的,大家可以见证一下:

正因为如此Charles对于分析软件的网络情况有非常重要的作用。

今天抛开其他的配置不说,我们主要看一下如何配置移动端的抓包,包括iOS和Android,首先对于配置移动端,分为两步。第一步在菜单栏中proxy -> proxy setting 里填入端口号8888,并且勾选"Enable transparent HTTP proxying",其次在你的iOS设备中设置网络代理,选手动设置,填写服务器,这也就是你电脑上的IP地址,再者填写你刚刚设置的8888端口号,之后Charles会弹出来一个是否Connection的提示,选择Allow即可。这时候,你用iOS设置随便访问一个站点,都可以通过Charles来分析网络通信,这一点上对于调试还是很有帮助的。唯一是这样设置Proxy还只能抓取HTTP协议,对于HTTPS就毫无办法了。

如果你想抓取HTTPS协议的通信,还需要额外的几个步骤,在Help -> SSL Proxying -> 选择你想安装的设备,有模拟器也有移动设备,我选的是Install Charles Root Certificate on a Mobile Device or Remote Browser,Charles依然会弹出来一个信息:

这个时候需要先在你的设备中将你的网络代理设置为192.168.1.105,端口号为8888,然后在你的移动设备中的浏览器里输入 chls.pro/ssl,iOS设备会弹出来安装一个证书描述文件,确认安装即可。回到Charles里在SSL Proxy Setting中设置端口号443,一般情况下可以用通配符*来代替Host。这个时候,依然随便访问一个HTTPS站点,在Charles界面中你就可以看到网络通信了。

除了代理抓包之外,Charles还有很多强大的特性,比如模拟网络速度,修改服务端返回等,总之通过Charles可以极大的方便我们的日常开发中抓取和调试网络请求,分析封包协议,剩下的就需要你慢慢研究了,祝玩的开心。

你身边如果有朋友对混合领域(跨技术栈)或全栈,编程感悟感兴趣,可以转发给他们看哦,^_^先谢过啦

本文分享自微信公众号 - 子曰五溪(fed-talk)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-04-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 大前端时代你的VSCode插件

    2018已成历史,大前端的时代不知不觉中已然来到了我们身边,完善你的军刀库为你的开发进行时提升效率,是我们必然要进行的事情。这一篇文章收集了一些我经常使用的 v...

    icepy
  • 戏说Side Project

    当然了,最近我的目光转向了区块链,花了一些小小时间做了一个Side Project,https://icepy.me/blockchain-navigate/,...

    icepy
  • stdin and stdout which it's ?

    最近写了几个C函数,来处理项目中一个Desktop跨应用的进程通信,被32-bit,LE(BE)折磨了很久,stdin and stdout 看起来是一个很简单...

    icepy
  • Charles乱码?不存在的!

    Charles 是一个网络抓包工具,我们可以用它来做 App 的抓包分析,获取 App 运行过程中发生的所有网络请求和响应内容,这就和 Web 端浏览器的开发者...

    不可言诉的深渊
  • Charles破解安装及基本使用

    1.Charles是一款代理服务器,通过成为电脑或者浏览器的代理,而后截取请求和请求结果达到抓包目的。

    ITester软件测试小栈
  • 手把手教你用Charles抓包

    日常开发过程中难免要进行抓包,查看服务端返回的数据是否正常,而Charles可谓是抓包利器了。下载安装地址:

    AntDream
  • Charles 从入门到精通

    Charles 是目前最主流的网络调试工具(Charles、Fiddler、Wireshark...)之一,对于一个开发者来说与网络打交道是日常需求,因此很多时...

    不会飞的小鸟
  • 网络抓包工具Charles的安装与使用

    做爬虫的小伙伴,会用到一些抓包工具去分析网络包的内容,然后模拟发送网络协议来获取我们想要的信息。常用的有fiddler、wireshark、charles等,命...

    efonfighting
  • mac抓包工具简介—Charles

    我们经常在工作中使用到各种工具去对网络请求进行拦截。抓包的工具有很多,适用于不同的平台和场景,例如:Charles、Fiddler、Wireshark等等,在w...

    软测小生
  • node 模块安装的问题,谁能帮我看看怎么回事

    用户2193479

扫码关注云+社区

领取腾讯云代金券