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. 修改Oracle权限的SQL及常见错误

    1.在cmd命令中进入sqlplus:相应的在DOS命令下执行:(1)set ORACLE_SID = $INSTANCE_NAME(2)sqlplus /nolog(3)connect user/p ...

  2. 【poj1001】 Exponentiation

    http://poj.org/problem?id=1001 (题目链接) 题意 求实数R的n次方,要求高精度. Solution SB题Wa了一下午,直接蒯题解. 高精度,小数点以及去前导后导零很麻 ...

  3. 【poj2187】 Beauty Contest

    http://poj.org/problem?id=2187 (题目链接) 题意 求点集上两点间最长距离 Solution 凸包+旋转卡壳. 旋转卡壳是看起来很难,但是很好意会也很好实现的算法,但是要 ...

  4. angularjs-$interval使用

    1. 简单使用 var app = angular.module("app",[]); app.controller("AppCtrl", function($ ...

  5. BZOJ4195 程序自动分析

    Description 在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足. 考虑一个约束满足问题的简化版本:假设x1,x2,x3,…代表程序中出现的变量,给定n个形如xi=xj或x ...

  6. poj 3734 矩阵快速幂+YY

    题目原意:N个方块排成一列,每个方块可涂成红.蓝.绿.黄.问红方块和绿方块都是偶数的方案的个数. sol:找规律列递推式+矩阵快速幂 设已经染完了i个方块将要染第i+1个方块. a[i]=1-i方块中 ...

  7. Sublime Text 3 笔记

    Nearly all of the interesting files for users live under the data directory. The data directory is ~ ...

  8. pthread_exit

    当主线程调用pthread_exit时,其余线程不退出,继续执行 当主线程调用exit/或return时,其余线程退出,整个进程都退出了. #include <pthread.h> #in ...

  9. centos7 nginx用systemctl方式管理的脚本

    vim /usr/lib/systemd/system/nginx.service [Unit] Description=nginx - high performance web server Doc ...

  10. Jquery中的 height(), innerHeight() outerHeight()区别

    jQuery中的 height innerHeight outerHeight区别 标准浏览器下: height:高度 innerHeight:高度+补白 outerHeight:高度+补白+边框,参 ...