一分钟搞定Charles手机APP抓包

1,333次阅读
没有评论

一、英雄不问出处?

 

一分钟搞定Charles手机APP抓包

Charles是目前强大、流行的http抓包调试工具,Mac、Unix、Windows各个平台都支持,其功能强大到包括:

1. 支持SSL代理,可以截取分析SSL的请求

2. 支持流量控制。可以模拟慢速网络以及等待时间(latency)较长的请求。

3. 支持AJAX调试。可以自动将json或xml数据格式化,方便查看。

4. 支持AMF调试。可以将Flash Remoting 或 Flex Remoting信息格式化,方便查看。

5. 支持重发网络请求,方便后端调试。

6. 支持修改网络请求参数。

7. 支持网络请求的截获并动态修改。

8. 检查HTML,CSS和RSS内容是否符合W3C标准

So、特别是做APP开发,抓取APP网络请求、调试与服务端的通信,尤其真机测试网络请求时,Charles是必备工具。

Charles的工作原理很简单,本质是就是一个http抓包分析工具,在工作的时候需要先把charles设置成代理服务器,这样所有的网络请求都会经过charles了。

在此借用网友的示例图(侵删)为大家详细展示一哈

1.普通http请求过程

一分钟搞定Charles手机APP抓包

2.加入了Charles的HTTP代理的请求与响应过程

一分钟搞定Charles手机APP抓包

Charles的安装的话可以去官网http://www.charlesproxy.com/download/下载,当然正式版的是需要付费的,大家可以找度娘安装破解版的,方便又舒心

二、超神之路

首先是如何用Charles抓取电脑模拟器的网络请求。电脑模拟器抓包相对比较简单,只需设置Charles代理即可。如图,打开Charles后,选择工具栏Proxy,确认勾选MAC OS X Proxy选项即可完成代理设置

一分钟搞定Charles手机APP抓包

这里需要为大家解释的是,Charles 主要提供两种查看封包的视图,分别名为 “Structure”和 “Sequence”。其中Structure 视图将网络请求按访问的域名分类;Sequence 视图将网络请求按访问的时间排序。大家可以根据具体的需要在这两种视图之前来回切换。Request的数据直接JSON格式化。如图

 

一分钟搞定Charles手机APP抓包

一分钟搞定Charles手机APP抓包

下面为大家详细介绍用Charles抓取手机APP网络请求的具体步骤。需要注意的是,抓取手机APP网络请求时,手机和电脑必须在一个局域网内,不一定非要是一个ip段,只要是同一个路由器下就可以了。

Step1:开启Charleshttp代理;

Step2:手机端Wifi添加代理;

Step3:开启Charles录制功能;

Step4:启动APP开始抓包;

Step 1: 开启Charleshttp代理

a.设置Charles代理。因为只是要监控手机端APP网络请求,所以将此前设置的电脑代理勾去掉

 

一分钟搞定Charles手机APP抓包

a.激活http代理功能。进入Proxy->Proxy Setting,设置http proxy代理端口:8888(一般默认设置为这个)

 

一分钟搞定Charles手机APP抓包

Step 2: 手机端Wifi添加代理

点击你所连接的wifi – – 选择手动 — 输入代理服务器的IP与端口

IP即你的电脑IP地址(打开电脑的网络设置,里面就醒目的显示了IP地址,或者打开终端,使用ifconfig命令查看),端口就是前面一步设置Charles时所设置的端口(即8888)。ps:mac下可直接按住option键点击wifi查看ip

 

一分钟搞定Charles手机APP抓包

此处需要注意的是,当结束抓包时,要记得把手机WiFi代理恢复过来(选择自动即可),否则会影响手机上网

Step3:开启Charles录制功能

当手机连接上代理后Charles会弹出相应的提示框,点击Allow即可。点击工具栏上的开始录制按钮,即启动了Charles的抓包功能了(录制按钮有的版本是默认开启的)

 

一分钟搞定Charles手机APP抓包

Step 4:启动应用开始抓包

此时只需启动你想抓包的APP就可以完成抓包,查看网络请求的数据了。因为现在大部分APP网络请求都做了加密处理,而Charles是不会进行自动解密的,所以会经常看到以下乱码。但是Charles作为测试时期的工具还是十分方便的。

 

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:Python教程2022-10-27发表,共计1609字。
新手QQ群:570568346,欢迎进群讨论 Python51学习