爱科伦
您现在的位置: 首页 > 生活知识

生活知识

charles抓包工具「抓包工具-Charles(花瓶)」

清心 2024-06-17 12:00:26 生活知识

抓包工具-Charles(花瓶)

Fiddler此工具经典且强大,它提供电脑、移动端的抓包,包括http协议和https协议都可以捕获到报文并进行分析,可以设置断点调试、截取报文进行请求替换和数据篡改,也可以进行请求构造,还可以设置网络丢包和延迟进行APP弱网测试等,它的优势就是免费。Charles(青花瓷)是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当程序连接Charles的代理访问互联网时,Charles可以监控这个程序发送和接收的所有数据。它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request,response和HTTPheaders(包含cookies与caching信息)。服务器为电脑IP地址:如102端口:8888打开Charles。手机配置成功后会弹出提示,点击“Allow”即可。此时,HTTP的网络包已经可以查看,但是HTTPS的依旧不可以。想要HTTPS抓包,首先要按照顺序完成上面的HTTP的配置。点击上面选项后,Charles会弹出提示。

Charles抓包工具常用功能——Https抓包接口——IOS iPhone手机抓包

想要HTTPS抓包,首先要按照顺序完成上面的HTTP的配置。点击上面选项后,Charles会弹出提示。在手机Safari浏览器输入地址"chls.pro/ssl",出现证书安装页面,点击安装点击安装。对于iOS10之后的系统版本,需要进行下面的操作——对根证书进行信任操作。选择在移动设备上安装Charles根证书。会弹出一个提示框。进入手机设置界面,手机局域网设置,然后打开手机的浏览器,输入charlesproxy.com/getssl会弹出如下界面。1那个垃圾桶图标,功能是clear,清理掉所有请求显示信息。2那个望远镜图标,功能是搜索关键字,也可以使用ctrl+f实现,可以设置搜索的范围。3圆圈中间红点的图标,功能是领抓去的数据显示或者不显示的设置。给Mac安装证书。打开Charles,在Menu选择SSLProxying>InstallCharlesRootCertificate,KeychainAccess(钥匙访问串)被打开,我们可以看到CharlesCertificate已经被安装,信任证书但此时该证书并没有被信任,双击该行弹出证书详情,选择“AlwaysTrust”。

如何使用Charles抓包

电脑端打开Charles,然后在菜单栏选择Help→SSLProxying→InstallCharlesRootCertificate,将证书安装至电脑,并打开钥匙串访问。证书安装后,默认是不被信任的,所以我们需要将其设置为信任。在钥匙串中找到该证书CharlesProxyCA,并设置为始终信任,然后保存。首先我们需要获取Charles运行所在电脑的IP地址,打开Terminal,输入ifconfigen即可获得该电脑的IP,如下图所示:在iPhone的逗设置地->逗无线局域网逗中,可以看到当前连接的wifi名,通过点击右边的详情键,可以看到当前连接上的wifi的详细信息,包括IP地址,子网掩码等信息。打开charles--help--registercharles,注册完成之后会有个弹窗提示,如下:help-->SSLProxying-->点击1安装charles根证书,&点击2安装IOS模拟器证书,&点击3安装手机证书。

Charles-青花瓷抓包工具

配置完成后,开启VPN,此时Charles会提示您,点击"allow"允许,就可以开始抓取数据了。抓到的数据可能会包括http、https、websocket的包,可以通过选择contents查看纯文字的数据包,或者通过WebSocket选项查看与聊天界面类似的数据包。请注意,为了抓取https的包,您需要安装青花瓷的证书。抓包工具在APP开发过程中使用非常频繁,对开发者理解网络传输原理以及分析定位网络方面的问题非常有帮助。笔者一直比较喜欢Wireshark,但由于最近的项目是短连接项目,Wireshark太过重量。所以笔者选择Charles进行App的抓包,配置也更加简单。iOS手机,连接与电脑同一个WiFi。首先是如何用Charles抓取电脑模拟器的网络请求。电脑模拟器抓包相对比较简单,只需设置Charles代理即可。如图,打开Charles后,选择工具栏Proxy,确认勾选MACOSXProxy选项即可完成代理设置这里需要为大家解释的是,Charles主要提供两种查看封包的视图,分别名为“Structure”和“Sequence”。

公司内网可访问,真机测试时如何链接charles抓包

这里推荐一个跨平台抓包神器—Charles。charles是一个图形界面可视化的代理形式(HTTP,SOCKS,SSL/HTTPS)的抓包工具,它提供对HTTP,SSL/HTTPS协议下通过同一个路由器下的设备的数据交流分析,包括各种HTTP请求和响应信息,charles目前只支持抓到部分socket的数据。在日常抓包测试工作中,Charles提供的rewrite、breakingpoint、maplocal等功能真的很好用。但是有时候需要对抓包过程进行实时修改、数据提取、批量处理等,Charles就显得力不从心。这时候一般是利用python脚本直接发送请求去处理,但是数据准备会比较繁琐。或者直接用强大的mitmproxy工具,可惜抓包过程不够直观。

在今天的文章中,我们为您介绍了charles抓包工具和抓包工具-Charles(花瓶)的知识,并分享了一些实用的技巧和建议。感谢您的阅读。