Charles是Mac下一款截取网络封包的工具,主要原理就是将自己设置成为熊网络访问的代理服务器,这样的话,所有的网络请求都得通过它来完成,从而实现网络封包的拦截分析。

  这款软件功能整体来说还是非常强大的,例如支持SSL代理,流量控制(可以模拟慢速网络,比较常用),支持修改和重发网络请求(这样可以方便服务器端去调试)等等非常实用的功能。具体可去官网(http://www.charlesproxy.com)了解,下面就简单的说下常用的功能:

  在使用之前必须把这玩意设置成为系统的代理,具体方法如下:第一次启动,Charles会请求你将它设置成为系统代理,如果你手抖或者不认得英文单词点了拒绝,那么启动后你也可以通过菜单“Proxy”->"Mac OS X Proxy"来设置。

  设置好之后你再打开浏览器就可以看到很多请求,主界面如下:

  

  因为所有的网络封包都会被列出来,很多都是你不关注的,那么你可以通过上图中 Filter 输入框去筛选,也可以通过

  

  这种方式去添加你要截取的目标网站就行。

  那么怎么去拦截iPhone上的网络封包呢?

  必须进行两项设置,一个是Charles设置,按以下顺序

  

  一个是iPhone上的设置:设置-》无线局域网,选中当前连接的wifi,单击右边详情,拉倒最底部,找到HTTP代理 这块,选择手动,然后输入IP地址(在Mac的终端上输入ifcongfig en0命令可以查看,必须一致)和端口号8888,这时候再点击OK后,你会看到Charles弹出一个链接确认的请求,记得选择 “Allow”。好,到此就可以拦截你手机上发出的网络封包了。

  

  下面是模拟慢速网络功能,很简单,作如下设置就行:

  

  

  然后还有,截取SSL信息功能,只需要在对应的请求上右击,选择SSL Proxying就可以对相应的Host所有的SSL请求拦截;

  修改网络请求内容,也是右击对应的请求,然后选择edit进行编辑,完事后单击“Execute”按钮。

  当然,还有个有用的功能就是修改服务器响应的内容(可以自己模拟一下特殊数据,减轻后端哥们的压力)这个相对来说有点复杂,它提供了Map(适合长期地将某一个请求重定向到另一个网络地址-Map Remote 或者本地文件-Map Local),Rewrite(适合对网络请求进行一些正则替换),Breakpoints(适合一些临时性德修改)三个功能,都可以完成修改服务器响应内容的目的,具体使用还要根据个人需求来。

  首先是Map Remote

   

  然后是Map Local 

  然后Rewrite ,匹配什么,替换成什么,相信聪明如你,一看就懂

  

下面是Breakpoint功能

开启此功能后,对于指定的网络请求,响应后都会被断点拦截,此时你就可以通过Edit Response去修改响应内容,然后单击 Execute按钮就行,其中需要注意的是客户端响应超时哦。

项目总结(四)--- 网络封包分析工具Charles的更多相关文章

  1. iOS开发工具-网络封包分析工具Charles

    转自唐巧的技术博客:http://blog.devtang.com/blog/2013/12/11/network-tool-charles-intr/ Charles是在Mac下常用的截取网络封包的 ...

  2. iOS开发工具——网络封包分析工具Charles

    简介 Charles是在Mac下常用的截取网络封包的工具,在做iOS开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析.Charles通过将自己设置成系统的网络访问代理服务器,使 ...

  3. 网络封包分析工具Charles使用

    网址:http://www.charlesproxy.com/ 截取网络封包的工具. 简介 Charles是在Mac下常用的截取网络封包的工具,在做iOS开发时,我们为了调试与服务器端的网络通讯协议, ...

  4. [转] iOS开发工具——网络封包分析工具Charles

    简介 Charles是在Mac下常用的截取网络封包的工具,在做iOS开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析.Charles通过将自己设置成系统的网络访问代理服务器,使 ...

  5. 开发工具-网络封包分析工具Charles

    extends:http://blog.devtang.com/blog/2013/12/11/network-tool-charles-intr/ 简介 本文为InfoQ中文站特供稿件,首发地址为: ...

  6. Charles(网络封包分析工具)

    一.what Charles工具是通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析. 它能实现以下 支持SSL代理:截取分析SSL的请求. ...

  7. Ubuntu 16.04下安装网络流量分析工具 Wireshark

    本文链接地址:https://www.linuxidc.com/Linux/2016-08/134526.htm 切勿用商业用途 sudo apt-add-repository ppa:wiresha ...

  8. iperf/netperf网络性能测试工具、Wireshark网络包分析工具

    iperf   http://www.linuxidc.com/Linux/2014-05/101160.htm netperf  http://www.linuxidc.com/Linux/2013 ...

  9. mac端抓包工具——Charles使用

    一.简介 Charles(http://www.charlesproxy.com/)是在Mac 下常用的截取网络封包的工具.Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问 ...

随机推荐

  1. mysql实用教程的数据构造

    create database XSCJ; use XSCJ; create table XS ( 学号 ) primary key not null, 姓名 ) not null, 专业名 ), 性 ...

  2. The Reflection And Amplification Attacks && NTP Reply Flood Attack Based On NTP

    目录 . NTP简介 . NTP协议格式 . NTP Reflect反射漏洞和NTP协议的关系 . 漏洞触发的前提和攻击需要的步骤 . 针对漏洞的攻防思考 1. NTP简介 Network Time ...

  3. <jsp:invoke fragment=""/>的理解和使用

    在传统 JSP 中,想要实现页面布局管理比较麻烦,为了解决在 JSP 中布局的问题,出现了很多开源软件,比如 Apache Tiles 和 SiteMesh 就是其中比较优秀的.但是使用开源软件实现布 ...

  4. android加载大图片到内存

    1)演示效果: 1)代码演示: 布局代码: 权限配置:

  5. yum被锁Another app is currently holding the yum lock; waiting for it to exit...

    可能是系统自动升级正在运行,yum在锁定状态中. 可以通过强制关掉yum进程: #rm -f /var/run/yum.pid 然后就可以使用yum了.

  6. 旋转屏幕时,假如自定义的xib大小变了,可能是这个属性没有修改

    虽然xib内部启用了自动布局,但是当xib放入外界,xib自身的autoresizing是存在的

  7. Oracle 常用入侵命令

    1.查看当前数据库实例名称:select * from v$instance;2.查看当前用户的角色:select * from user_role_privs;3.查看当前用户下所有的表:selec ...

  8. derby支持的数据类型

    Data types This section describes the data types used in Derby. Built-In type overview Numeric types ...

  9. Java-优秀博客推荐

    一. TCP/IP Socket 兰亭风雨的专栏: http://blog.csdn.net/ns_code 二. NIO 并发编程网-Java NIO系列教程:http://ifeve.com/ch ...

  10. mysql字符串截取

    mysql字符串截取 update zcat ) where lev1 is null; update zcat ) where lev2 is null; 函数: 1.从左开始截取字符串 left( ...