如何使用charles抓取手机上的操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用charles抓取手机上的操作相关的知识,希望对你有一定的参考价值。

如何使用charles抓取手机上的操作:

1、选择在移动设备上安装 Charles 根证书。

2、会弹出一个提示框。

3、进入手机设置界面,手机局域网设置,然后打开手机的浏览器,输入charlesproxy.com/getssl 会弹出如下界面。

4、点击安装即可,如果出现的不是这个界面,那么把链接换成https://www.charlesproxy.com/documentation/additional/legacy-ssl-proxying/,点击安装 itself 后面的 here 就可以了。


5、此时还是获取不到 https 的数据,各位童鞋不要着急,下面还有操作,接着还是进入 Charles ,如下图操作。

6、勾选Enable SSL Proxying,点击添加,弹出下面的对话框,Host 表示你要抓取的 ip 地址或是链接,Port 填写 443 即可。

7、如果还抓不到数据,检查你的手机是不是 ios 10.3 及以上版本,如果是的话的还需要进入手机设置->通用->关于本机->证书信任设置。

参考技术A Charles上的设置
要截取iPhone上的网络请求,我们首先需要将Charles的代理功能打开。在Charles的菜单栏上选择“Proxy”->“Proxy Settings”,填入代理端口8888,并且勾上”Enable transparent HTTP proxying” 就完成了在Charles上的设置。如下图所示:

iPhone上的设置
首先我们需要获取Charles运行所在电脑的IP地址,打开Terminal,输入ifconfig en0, 即可获得该电脑的IP,如下图所示:

在iPhone的 “设置”->“无线局域网“中,可以看到当前连接的wifi名,通过点击右边的详情键,可以看到当前连接上的wifi的详细信息,包括IP地址,子网掩码等信息。在其最底部有“HTTP代理”一项,我们将其切换成手动,然后填上Charles运行所在的电脑的IP,以及端口号8888,如下图所示:

设置好之后,我们打开iPhone上的任意需要网络通讯的程序,就可以看到Charles弹出iPhone请求连接的确认菜单(如下图所示),点击“Allow”即可完成设置。

软件使用:
切换视图显示

enter image description here
上图中的7个位置是最常用的几个功能。
1 那个垃圾桶图标,功能是clear,清理掉所有请求显示信息。
2 那个望远镜图标,功能是搜索关键字,也可以使用ctrl+f实现,可以设置搜索的范围。

3 圆圈中间红点的图标,功能是领抓去的数据显示或者不显示的设置。 这个本人认为是charles工具很方便的一个两点,一般都使其为不显示抓去状态,只有当自己测试的时候的前后,在令其为抓取并显示状态。这样可以快准狠的获取到相关自己想要的信息,而不必在一堆数据请求中去寻找。
4 编辑修改功能,可以编辑修改任意请求信息,修改完毕后点击Execute就可以发送一个修改后的请求数据包。

5 抓取的数据包的请求地址的url信息显示。
6 抓取的数据包的请求内容的信息显示。

post请求可以显示form形式,直观明了。

7 返回数据内容信息的显示。

其中5、6、7中都有各种形式的数据显示形式,其中raw是原始数据包的状态。

解决中文乱码
Response中文乱码:在Info.plist 中 的vmoption 添加-Dfile.encoding=UTF-8

info.plist路径 程序->Charles.app->显示包内容->Info.plist

Charles抓取http请求详解

使用过Charles进行抓包,但一直也没有总结过,今天讲讲Charles如何进行抓包,修改请求,修改返回值。

 

一、Charles介绍

Charles是一款跨平台的抓包工具,windows,mac.linux下都可以使用,主有如下作用:

1、查看发出去的请求

2、定位问题,定位分析是server端的问题还是客户端的问题

3、帮助模拟一些服务端返回的异常情况

4、手机抓包,需要注意:

(1) 必须保证手机和电脑是在同一个局域网里面的。

(2) 获取到电脑ip地址,查看Charles的端口号,默认的端口号是8888,,用户可以自己设置。

 

二、查看发出去的请求

打开Charles, 如想查看58同城的请求,在左侧的Structure查到58同城的域名,这里主要是以域名作为节点显示的,点击/,

查看右边的窗口,请求与返回的结果都详细显示在这里了。

注意: 现在很多网站都使用https,很多时候都抓不到包了,这里使用的http,很容易就抓到了。

技术分享图片

 

三、修改发出去的请求

上一步抓到的包中,选中58.com, 点击Proxy->Enable Breakpoints, 清空抓到的数据,重新在浏览器输入58.com, 如下所示:

修改后点击Execute就要以执行。

技术分享图片

 

 四、修改reponse

技术分享图片

 

修改为:

技术分享图片

 

 结果为:

技术分享图片

 

 

 

 五、手机抓包

1、查看电脑的IP

 技术分享图片

 

 查看charles代理端口,如下:

 技术分享图片

 2、在手机上设置手动代理ip为电脑IP,端口为8888, 保存即可。

 

以上是关于如何使用charles抓取手机上的操作的主要内容,如果未能解决你的问题,请参考以下文章

charles使用(三)--抓取移动设备上的http请求

Charles抓取http请求详解

Charles 如何抓取https数据包

手机通过Charles抓取https包

MAC上使用Charles抓取WebSockets

安卓7.0以上手机使用charles代理抓取https数据