您的位置:首页 > 理论基础 > 计算机网络

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

2015-12-22 09:47 489 查看
在复杂的App开发过程中,我们会涉及各种复杂的网络操作,各种API的调用和数据接收。如果我们只是通过控制台来查看网络的输入输出,就会非常麻烦。在Mac上有一款非常优秀的网络抓包工具——Charles,在iOS开发中也是常常用到。今天我们就来介绍如何安装使用Charles。关于Charles安装包、破解包和证书我已经上传至网盘:http://pan.baidu.com/s/1numMoTr 。大家可以下载直接安装。操作步骤如下:
(1)直接安装dmg文件,安装过程很简单,就不赘述了。由于Charles是收费的,安装后只有30天的试用期。我们就需要破解。
(2)打开Finder中的应用程序-->Charles-->右键显示包内容-->Contents-->Java,然后使用我破解包中的charles.jar替换原有的charles.jar文件。这样就能破解Charles了。破解成功后的Help显示如下:




(3)下面就是来使用Charles进行抓包。抓包分为Http抓包和Https抓包。下面分别讲解:
【Http抓包】
1.现在我们默认是在进行iOS开发,首先确保iPhone和Mac是在同一个局域网下(连同一个WiFi)。然后查看Mac的IP地址(打开网络偏好设置即可看到),假设我的IP地址为:192.168.1.2. 然后进入iPhone,进行HTTP代理设置,从关闭改为手动,在服务器位置输入刚才Mac的IP地址。在端口位置输入8888.如图:




2.然后就可以开始进行抓包了。打开Charles,会弹出是否允许,选择Allow即可。然后在iPhone上打开你要抓包的App,在Charles上就会看到抓包结果:




【Https抓包】
Https抓包配置比Http抓包配置麻烦一点点。首先把证书(在压缩包中的crt文件)安装到iPhone上。安装完成以后,其他配置都和http抓包一样。额外的配置如下(我是最新的3.11版本,配置可能与其他网上3.x版本的配置稍有不同):
1.点击Proxy-->SSL Proxying Settings ,就会出现如下界面。




(2)选中Enable SSL Proxying。并在Locations处进行如下配置,点击Add,出现如下界面,Host处可以随意填一个主机名(如:api.instagram.com,大家貌似都用这个),然后在Port端口处填443.如图:







(3)经过以上步骤,就可以进行Https抓包了。其他操作过程同http抓包。

总结,当你抓包结束后,就要去iPhone里把网络的HTTP代理关闭,否则可能会造成无法上网的情况。这里只是对抓包的配置进行简单的介绍,抓包本身还是博大精深的,我接下去会继续进行详细的讲解。

github主页:https://github.com/chenyufeng1991 。欢迎大家访问!

最近极客学院Wiki正在进行IT职业技能图谱的制定,我主要负责iOS方向,大家感兴趣的可以一起参加,有问题或者修改可以直接给我发issues或者pull request。https://github.com/chenyufeng1991/skillmap
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: