目录
一、什么是Charles
二、下载Charles
三、设置Charles代理
四、配置设备代理
五、抓包操作
六、常见问题及解决方法
抓包不到某些应用程序
Charles抓包后网站出现异常
七、总结
一、什么是Charles
Charles是一个跨平台的HTTP代理服务工具,可以用来查看HTTP/HTTPS请求和响应的内容。它适用于开发人员、测试人员和网络管理员等多种角色,可以帮助他们了解网站性能瓶颈、调试问题以及优化页面加载速度等。使用Charles可以更好地控制网络流量,从而提高开发效率。
二、下载Charles
首先需要下载并安装Charles软件。目前,Charles的官方网站提供了多个版本的下载链接,可以根据自己的操作系统选择对应版本进行下载安装。在安装完成后,打开软件,就可以开始使用Charles抓包了。
全网抓包天花板教程,B站讲的最详细的Fiddler/Charles抓包教学视频。2小时包你学会_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1tv4y1575S/?spm_id_from=333.999.0.0&vd_source=6e2d6c374fd551babe1ac6a5e60c5a75
三、设置Charles代理
为了让Charles正常运行,需要将其设置为代理服务器。具体操作步骤如下:
-
打开Charles软件,进入菜单栏中的Proxy选项。
-
在Proxy菜单中,选择Proxy Settings。
-
在Proxy Settings窗口中,将HTTP Proxy和SSL Proxy设置为localhost,端口号设置为8888。
-
点击OK按钮保存设置。
至此,Charles代理已经设置成功。
四、配置设备代理
为了让设备连接到Charles代理服务器进行抓包,需要将设备的代理设置为与Charles相同的IP地址和端口号。
-
连接设备到同一网络中,并获取设备的IP地址。
-
打开设备的Wi-Fi设置,找到当前连接的Wi-Fi并点击进入。
-
在Wi-Fi设置页面中,找到HTTP代理选项,将其设置为手动。
-
输入Charles代理服务器的IP地址和端口号(默认为8888)。
-
保存设置。
至此,设备代理已经配置完成。现在可以开始使用Charles来抓取HTTP/HTTPS请求和响应了。
五、抓包操作
在完成上述设置后,可以通过Charles来抓取设备上的HTTP/HTTPS请求和响应。
-
打开Charles软件,在菜单栏中选择Proxy选项,并在下拉菜单中选择Recording选项。
-
Recording选项中的Settings子菜单可以用来配置Charles的记录规则,以使得Charles只记录需要的请求和响应。可以根据需求进行设置。
-
在设备上发起需要抓包的请求,比如打开一个网页或者启动一个APP。
-
回到Charles软件,可以看到所有的HTTP/HTTPS请求和响应都已经被记录下来了。可以点击每个请求和响应查看详细信息,包括请求头、响应头、请求体、响应体等内容。
除此之外,Charles还提供了其他便捷的功能,如重放请求、修改请求、添加断点等,可以帮助开发人员更好地调试和优化网站性能。
全网抓包天花板教程,B站讲的最详细的Fiddler/Charles抓包教学视频。2小时包你学会_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1tv4y1575S/?spm_id_from=333.999.0.0&vd_source=6e2d6c374fd551babe1ac6a5e60c5a75
六、常见问题及解决方法
- 无法抓取HTTPS请求和响应
由于HTTPS请求和响应是加密的,Charles默认情况下无法进行抓取。需要在设备上安装Charles的SSL证书,并将其设置为信任,才能正确地抓取HTTPS请求和响应。具体步骤如下:
1) 在Charles软件中,点击Help菜单,选择SSL Proxying选项。
2) 打开SSL Proxying Settings窗口,在Include区域中添加需要抓取的域名或IP地址(例如*.google.com)。
3) 点击Add按钮添加域名或IP地址到Include列表中。
4) 在iOS设备上打开Safari浏览器
5) 在iOS设备上进入Settings > General > About > Certificate
续前文:
6) 在证书页面中,点击Charles Proxy CA证书,进入证书详情页。
7) 点击信任选项卡,并将Charles Proxy CA证书的信任设置为Always Trust。
现在,Charles就可以正常抓取HTTPS请求和响应了。
抓包不到某些应用程序
有些应用程序可能会使用特定的加密方式或者绕过代理服务器进行通信,从而导致无法被Charles抓取。此时,可以尝试以下解决方法:
1) 使用模拟器来模拟设备,在模拟器中运行需要调试的应用程序,然后使用Charles抓取模拟器上的流量。
2) 在设备上安装并运行Burp Suite等其他抓包工具,进行抓包。
3) 使用其他代理服务器,比如Fiddler、Postman等,进行抓包。
Charles抓包后网站出现异常
在进行调试测试时,有可能会因为抓包操作导致网站出现异常。这是由于Charles对请求和响应进行了中间人攻击,劫持了原本的请求和响应,所以有些网站可能会受到影响。如果遇到这种情况,可以尝试以下解决方法:
1) 关闭Charles的抓包功能,在调试时只开启需要的请求记录规则。
2) 将Charles的SSL证书从系统中删除。
3) 在Charles软件中设置breakpoints,只拦截需要调试的请求和响应。
Charles的常用功能
除了上面提到的抓包操作外,Charles还有很多其他的常用功能,如:
- 重放请求(Replay):可以将已经记录下来的请求再次发送到服务器,以便测试和调试。
- 修改请求(Edit Request):可以修改已经记录下来的请求的参数、头信息等内容,并重新发送请求。
- 添加断点(Add Breakpoint):在某个请求或响应处添加一个断点,当程序执行到这个断点时,就会停下来,方便进行调试。
- 过滤请求(Filter):可以根据请求的URL、Host、Method等条件进行过滤,只显示符合条件的请求。
- 其他功能:Charles还支持WebSocket、DNS解析、映射本地文件等功能,极大地方便了开发人员的工作。
注意事项
在使用Charles进行调试和测试时,需要注意一些问题,以避免出现错误和不必要的麻烦。以下是一些需要注意的事项:
- Charles抓包过程中,可能会生成大量的数据和文件,需要及时清理,否则会占用大量的磁盘空间。
- Charles默认情况下会记录所有的HTTP/HTTPS流量,可能会包含一些敏感信息,需要谨慎处理,以避免信息泄露。
- 在Charles抓包过程中,可能会对被测应用程序造成一定的影响,例如网站出现异常等问题。因此,在进行调试测试时,需要尽可能地减少对被测应用程序的干扰。
- 由于Charles是一款付费软件,如果需要使用其高级功能,需要购买正版授权,否则可能会受到限制。
学习资料
如果想要了解更多关于Charles的使用方法和技巧,可以参考以下学习资料:
- 官方文档:Charles官方网站提供了详细的使用指南和开发者文档,在官网上可以找到各种教程和视频教学资源,非常适合初学者入门。
- 博客文章:有很多博客文章介绍了如何使用Charles进行开发和测试,包括如何抓包、如何设置SSL证书、如何修改请求等内容。这些博客文章涵盖了各种语言和框架,可以根据自己的需求进行阅读学习。
- 视频教程:有很多优质的视频教程介绍了如何使用Charles进行开发和测试,其中包括很多实例演示和手把手的操作指南,非常适合喜欢通过视频进行学习的人群。
七、总结
Charles是一个功能强大、易于使用的HTTP代理服务器工具,可以用来查看HTTP/HTTPS请求和响应的内容。通过正确地配置Charles代理服务器和设备代理,可以非常方便地抓取设备上的流量,并进行调试和优化。但需要注意的是,在使用Charles抓包时,可能会导致网站出现异常等问题,需要根据实际情况进行调整和处理。
全网抓包天花板教程,B站讲的最详细的Fiddler/Charles抓包教学视频。2小时包你学会_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1tv4y1575S/?spm_id_from=333.999.0.0&vd_source=6e2d6c374fd551babe1ac6a5e60c5a75