1. Charles:HTTP请求响应监听工具使用说明.doc  

1.    介绍

Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器.它允许一个开发者查看所有连接互联网的HTTP通信.这些包括request,response现HTTP headers (包含cookies与caching信息)。

Charles是一个简单的基于HTTP协议传输的调试工具,在开发和测试工作扮演着重要的角色。

Charles具有界面简单直观,易于上手,数据请求控制容易,修改简单,抓取数据的开始暂停方便等优势。

注意:该软件在特殊情况下会出现劫持浏览器导致无法浏览网页的问题(请谨慎使用)。

2.    下载与安装

l  首先需要下载java的运行环境支持。

http://www.charlesproxy.com下载charles或者去百度搜索并下载charles的破解版

3.    显示模式

charles抓包的显示,支持两种模式,Structure和Sequence,其优点分别如下。

3.1 Structure模式

Structure模式如下图 优点:可以很清晰的看到请求的数据结构,而且是以域名划分请求信息的,可以很清晰的去分析和处理数据。

3.2 Sequence模式

Sequence模式如下图 优点:可以很清晰的看到全部请求,不用一层一层的去点开,这里是以数据请求的顺序去执行的,也就是说那个请求快就在前面显示。

4.PC端数据包抓取

pc端可以使用Charles抓取http、https协议的请求,不支持socket。charles会自动配置IE浏览器和工具的代理设置,所以说打开工具直接就已经是抓包状态了。这里打开百度抓包下,工具界面和相关基础功能如下图所示:

上图中的7个位置是最常用的几个功能。

1.  那个垃圾桶图标,功能是clear,清理掉所有请求显示信息。

2.  那个望远镜图标,功能是搜索关键字,也可以使用ctrl+f实现,可以设置搜索的范围。

3.  圆圈中间红点的图标,功能是领抓去的数据显示或者不显示的设置。这个是charles工具很方便的一个两点,一般都使其为不显示抓去状态,只有当自己测试的时候的前后,在令其为抓取并显示状态。这样可以快准狠的获取到相关自己想要的信息,而不必在一堆数据请求中去寻找。

4.  编辑修改功能,可以编辑修改任意请求信息,修改完毕后点击Execute就可以发送一个修改后的请求数据包。

5.  抓取的数据包的请求地址的url信息显示。

6.  抓取的数据包的请求内容的信息显示。

7.  相应数据内容信息的显示

其中5、6、7中都有各种形式的数据显示形式,其中raw是原始数据包的状态。

5.其它常用功能

5.1请求重发功能

选择请求后,右键可以看到一些常用的功能,这里说说Repeat 就是重复发包一次。然后Advanced Repeat就是重复发包多次,这个功能用来测试短信轰炸漏洞很方便。

5.2指定录制、排除录制功能

打开Proxy –> Proxy Settings

l  指定录制

l  排除录制

6.charles使用问题汇总

Charles是一款很好用的抓包修改工具,但是如果你不是很熟悉这个工具的话,肯定会遇到各种感觉很莫名其妙的状况,常见问题说明如下。

1.  为什么下载了不能用?打不开啊。

因为charles是需要java环境才能运行的,需要先安装java环境才可以。

2.  为什么我用着用着就自动关闭了?大概30分钟就会关闭一次。

因为charles如果没有注册的话,每次打开后就只能哟个30分钟,然后就会自动关闭,所以最好在使用前先按照说明去进行工具的注册操作。

3.  为什么我用charles不能抓到socket和https的数据呢?

charles是不支持抓去socket数据的。如果抓不到https的数据的话,请查看你是不是没有勾选ssl功能。Proxy –> Proxy Settings –> SSL 设置

4.  抓包后发现form中有些数据显示是乱码怎么办?

请在Raw模式下查看,Raw模式显示的是原始数据包,一般不会因为编码问题导致显示为乱码。

5.  为什么我用IE可以抓到数据,但是用360或者谷歌浏览器就不行?

请确保360或者谷歌的代码设置中是不是勾选设置的是 使用IE代理。

6.  想要复制粘贴某些数据的话,怎么办,右键没有相应功能啊?

请直接使用Ctrl +C 和Ctrl+V 即可。

7.  为什么用了charles后,我就上不了网页了,但是qq可以。

因为如果charles是非正常状态下关闭的话,那么IE的代理就不会被自动取消,所以会导致这种情况。

解决办法:

第一种:直接打开charles,然后再正常关闭即可。 第二种:去将IE浏览器代理位置的勾选去掉。

关注“码农社团”微信公众号,回复“charles”即可获取到安装包和使用手册
坚持最初的执着,从不曾有半点懈怠,为优秀而努力,为证明自己而活。

Charles_N:HTTP请求响应监听工具的更多相关文章

  1. 权限管理demo-Http请求前后监听工具

    工具作用: 1. 输出每次请求的参数 2. 接口的请求时间 package com.mmall.common; import com.mmall.util.JsonMapper; import lom ...

  2. ASP.NET Core真实管道详解[2]:Server是如何完成针对请求的监听、接收与响应的【上】

    Server是ASP .NET Core管道的第一个节点,负责完整请求的监听和接收,最终对请求的响应同样也由它完成.Server是我们对所有实现了IServer接口的所有类型以及对应对象的统称,如下面 ...

  3. Server是如何完成针对请求的监听、接收与响应1

    Server是如何完成针对请求的监听.接收与响应的[上] Server是ASP .NET Core管道的第一个节点,负责完整请求的监听和接收,最终对请求的响应同样也由它完成.Server是我们对所有实 ...

  4. 利用 chunked 类型响应实现后台请求的监听

    Koa 中实现 chunked 数据传输 中介绍了如何在 Koa 中实现 Transfer-Encoding:chunked 类型的响应分片传输.这里来看一个应用场景. 假如我们想监听后台的请求,并将 ...

  5. Self Host模式下的ASP. NET Web API是如何进行请求的监听与处理的?

    构成ASP.NET Web API核心框架的消息处理管道既不关心请求消息来源于何处,也不需要考虑响应消息归于何方.当我们采用Web Host模式将一个ASP.NET应用作为目标Web API的宿主时, ...

  6. 拉仇恨!webhook + 企业微信给同事做了个代码提交监听工具

    本文案例收录在 https://github.com/chengxy-nds/Springboot-Notebook 大家好,我是小富~ 最近接个任务,用webhook做了个代码提交监听功能,就是有人 ...

  7. andriod开发,简单的封装网络请求并监听返回.

    一.为什么封装 因为android 4.0 以后的发送网络请求必须要放到异步线程中,而异步线程必须跟handle合作才能更新主线程中的UI,所以建议用一个类继承handler来异步处理网络请求. 二. ...

  8. 了解linux web的监听工具

    zabbix cacti Nagios 本想安装的,但是安装需要一个 空的服务器,因为服务器已经有安装 LAMP,故没有去了解 尝试了 cacti ,因为本地环境版本问题,只能使用0.8.8a版本,并 ...

  9. 网络监听工具 嗅探器 SpyNet

    配置网卡 注册 监听配置 开始捕获

随机推荐

  1. Python之路:Python 基础(三)-文件操作

    操作文件时,一般需要经历如下步骤: 打开文件 操作文件 一.打开文件 文件句柄 = file('文件路径', '模式') # 还有一种方法open 例1.创建文件  f = file('myfile. ...

  2. jQuery通知插件noty

    jQuery 通知查件noty 简单使用 官方:http://ned.im/noty/ 其它查件推荐 NotifIt Demo http://js.itivy.com/jiaoben1852/inde ...

  3. asp.net core+ef core

    asp.net core+ef core 官方的文档https://docs.asp.net/en/latest/tutorials/first-mvc-app/start-mvc.html 先来看一 ...

  4. Runtime.getRuntime().exec(...)使用方法

    Runtime.getRuntime().exec(...)使用方法 如果想要了解更多的信息,参阅代码里面给的链接  下面是这个正确的例子 public class RuntimeExec { /** ...

  5. Java面试题之三

    十一.谈谈final,finally,finalize的区别? 1.final:是修饰符,是一个关键字.修饰变量,如果是基本类型表示该变量的值不能修改:如果是引用类型表示该变量不能指向别的对象:修饰类 ...

  6. C语言中操作符的优先级大全

    C语言中操作符的优先级大全, 当然c++, Objective-C,大部分语言都试用. 下面是来自The C Programming Language 2th的总结. OperatorsAssocia ...

  7. 2014 北京邀请赛ABDHJ题解

    A. A Matrix 点击打开链接 构造,结论是从第一行開始往下产生一条曲线,使得这条区间最长且从上到下递减, #include <cstdio> #include <cstrin ...

  8. java笔记之数据类型

    java中一句连续的字符不能分开在两行中书写,如国太长可用“+”将这两个字符串连起来 文档注释是以“/**”开头,并在注释内容末尾以“*/”结束. 文档注释是对代码的解释说明,可以使用javadoc命 ...

  9. SSH整合,"sessionFactory " or "hibernateTemplate " is required异常

    首先遇到的问题就是HibernateDaoSupport引起的,程序中所有的DAO都继承自HibernateDaoSupport,而HibernateDaoSupport需要注入sessionfact ...

  10. php __autoload使用

    官方介绍: void __autoload ( string $class ) 你可以通过定义这个函数来启用类的自动加载. 转载一篇文章: PHP autoload机制详解 (1) autoload机 ...