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. NOIP2011 普及组 T3 洛谷P1309 瑞士轮

    今天题做太少,放道小题凑数233 题目背景 在双人对决的竞技性比赛,如乒乓球.羽毛球.国际象棋中,最常见的赛制是淘汰赛和循环赛.前者的特点是比赛场数少,每场都紧张刺激,但偶然性较高.后者的特点是较为公 ...

  2. jquery发送ajax请求返回数据格式

    jquery向服务器发送一个ajax请求后,可以返回多种类型的数据格式,包括:html,xml,json,text等. 1.html格式的数据 "<div class='comment ...

  3. The C Programming Language (second edition) 实践代码(置于此以作备份)

    1. #include <stdio.h> #include <stdlib.h> #include <math.h> #include<time.h> ...

  4. xcode6.3插件失效

    1.打开终端,输入以下代码:defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID 2.获取到DV ...

  5. win2008r2激活码

    我这有三个 以前用过可以 现在不知道能不能用 你试试BBFP3-49FVF-TJB8F-V26V6-DJPX9 CXTFT-74V4Y-9D48T-2DMFW-TX7CYGYF3T-H2V88-GRP ...

  6. Java统计数据库表中记录数

    public static int count(String txyl_table) {// 获取用户数量 int i = 0;// Store_Information Connection con ...

  7. Lex和Yacc入门

     Lex和Yacc入门 标签: lexyacc 2013-07-21 23:02 584人阅读 评论(0) 收藏 举报  分类: Linux(132)  原文地址:http://coanor.blog ...

  8. linux 下如何给用户添加权限

    linux 添加用户.权限:# useradd –d /usr/sam -m sam此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录/usr/sam(/usr为默认的用户 ...

  9. php利用淘宝IP库获取用户ip地理位置

    我们查ip的时候都是利用ip138查询的,不过那个有时候是不准确的,还不如自己引用淘宝的ip库来查询,这样准确度还高一些.不多说了,介绍一下淘宝IP地址库的使用. 淘宝IP地址库 淘宝公布了他们的IP ...

  10. Asteroids(匈牙利算法入门)

    Asteroids Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 16211   Accepted: 8819 Descri ...