iPhone 抓包工具Charles使用[通俗易懂]

iPhone 抓包工具Charles使用[通俗易懂]Charles是在Mac下常用的截取网络封包的工具,在做iOS开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。Charles通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。Charles主要的功能包括:支持SSL代理。可以截取分析SSL的请求。支持流量控制。可以模拟慢速网络

大家好,又见面了,我是你们的朋友全栈君。

Charles 是在Mac下常用的截取网络封包的工具,在做iOS开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。Charles通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。


Charles主要的功能包括:

  1. 支持SSL代理。可以截取分析 SSL 的请求。
  2. 支持流量控制。可以模拟慢速网络以及等待时间(latency)较长的请求。
  3. 支持AJAX调试。可以自动将json或xml数据格式化,方便查看。
  4. 支持AMF调试。可以将Flash Remoting 或 Flex Remoting信息格式化,方便查看。
  5. 支持重发网络请求,方便后端调试。
  6. 支持修改网络请求参数。
  7. 支持网络请求的截获并动态修改。
  8. 检查HTML,CSS和RSS内容是否符合 W3C标准 。    

Charles的安装使用:


一、安装Charles

去Charles的官方网站(http://www.charlesproxy.com)下载最新版的Charles安装包,是一个dmg后缀的文件。打开后将Charles拖到Application目录 下即完成安装。


二、配置WiFi & 安装SSL证书 (SSL证书不安装也可以使用;安装SSL证书可以抓到https的包

   2.1 手机WiFi和MAC链接同一个WiFi

1、启动Charles后,选择菜单中的 “Proxy” -> “Proxy settings”来获取端口号。

  iPhone 抓包工具Charles使用[通俗易懂]

2、在mac系统偏好设置里面获取IP

iPhone 抓包工具Charles使用[通俗易懂]

3、在iPhone—设置—WiFi—找到相应的WiFi设置里面进行配置

      http代理改为手动、服务器和端口与上面两处保持一致

iPhone 抓包工具Charles使用[通俗易懂]

   2.2 安装SSL证书

如果你需要截取分析SSL协议相关的内容。那么需要安装Charles的CA证书。具体步骤如下:

  1. http://www.charlesproxy.com/ssl.zip 下载CA证书文件。
  2. 解压该zip文件后,双击其中的.crt文件,这时候在弹出的菜单中选择“总是信任”,如下所示:

    iPhone 抓包工具Charles使用[通俗易懂]

  3. 从钥匙串访问中即可看到添加成功的证书。如下所示:

    iPhone 抓包工具Charles使用[通俗易懂]

三、将Charles设置成系统代理

之前提到,Charles是通过将自己设置成代理服务器来完成封包截取的,所以使用Charles的第一步是将其设置成系统的代理服务器。

  1. 启动Charles后,第一次Charles会请求你给它设置系统代理的权限。你可以输入登录密码授予Charles该权限。你也可以忽略该请求,然后在需要将Charles设置成系统代理时,选择菜单中的 “Proxy” -> “Mac OS X Proxy”来将Charles设置成系统代理。如下所示:

iPhone 抓包工具Charles使用[通俗易懂]

之后,你就可以看到源源不断的网络请求出现在Charles的界面中。

Charles主界面介绍

iPhone 抓包工具Charles使用[通俗易懂]

Charles主要提供2种查看封包的视图,分别名为“Structure”和”Sequence”。

  1. Structure视图将网络请求按访问的域名分类。
  2. Sequence视图将网络请求按访问的时间排序。

大家可以根据具体的需要在这两种视图之前来回切换。

对于某一个具体的网络请求,你可以查看其详细的请求内容和响应内容。如果响应内容是JSON格式的,那么Charles可以自动帮你将JSON内容格式化,方便你查看。


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145893.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SAP IDES、DEV、QAS、PRD都是什么含义「建议收藏」

    SAP IDES、DEV、QAS、PRD都是什么含义「建议收藏」1SAPIDES、DEV、QAS、PRD都是什么含义? 2SAP实施方法分几步? 答: 1SAP系统的IDES、DEV、QAS、PRD分别是其演示练习、开发、质量保证、生产系统。其中: IDES:InternetDemonstrationandEvaluationSystem,交互式演示与评估系统 DEV:DevelopmentSystem,开发系统

    2022年6月28日
    58
  • startActivityForResult 参数限制[通俗易懂]

    startActivityForResult 参数限制[通俗易懂]publicvoidstartActivityForResult(Intentintent,intrequestCode)ParametersintentTheintenttostart.requestCodeIf>=0,thiscodewillbereturnedinonActivityResult()whentheactivity

    2022年7月11日
    15
  • 目前还存活的多个电驴下载站点[通俗易懂]

    目前还存活的多个电驴下载站点[通俗易懂]0、http://www.emule-project.net/这个不用说了,emule官方,没有它就没有下面的所有一切,德国人开的。只提供官方版emule软件,没有资源下载。秉承理念“eMule是完全免费的,它也决不包含广告软件、间谍和流氓软件。我们之所以创造eMule是为了快乐和知识,而不是为了金钱。”eMule的作者是一个德国人Merkur,本名Hendrik.Breitk

    2022年7月15日
    43
  • Lync 2010 服务器的部署之目录篇

    Lync 2010 服务器的部署之目录篇

    2021年8月19日
    64
  • ideavim怎么用_idea常用快捷键图文

    ideavim怎么用_idea常用快捷键图文学了这么久的VIM,当然还是要用在开发上。下面来介绍一下ideavim这个插件。IdeaVim是用于基于IntelliJ平台的IDE的Vim仿真插件。IdeaVim支持许多Vim功能,包括普通/插入/可视模式,动作键,删除/更改,标记,寄存器,一些Ex命令,Vimregexp,通过〜/.ideavimrc配置,宏,窗口命令等。另外还可以自定义ideavim的快捷键,定制专属的快捷键。安装I…

    2022年10月7日
    2
  • mac 亿图11 激活码-激活码分享

    (mac 亿图11 激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月27日
    622

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号