首页 > 技术文章 > Charles基本使用—http抓包、手机抓包、数据篡改

beginner-boy 2018-03-17 23:38 原文

本文主要介绍如下内容:

1、Charles如何抓取HTTP报文

2、Charles如何抓取手机上的HTTP包

3、使用Charles篡改数据信息


 

一、Charles抓取HTTP包

1、Charles的安装

1、下载地址:官网http://www.charlesproxy.com下载

2、破解:Charles是收费软件,需要破解。破解方法是下载charles.jar替换原来的 jar包。

3、charles.jar下载地址:http://pan.baidu.com/s/1i3Qt24H(我下的charles版本为3.11.2)

ps:jar包对应的charles版本3.11.2 ,可网上搜取最新的

2、安装完成后打开Charles,默认打开之后就可以正常抓取数据报文

在浏览器中输入:http://bj.58.com/

然后Charles抓取到的报文如下图:

 

如果感觉请求太多,可以切换到Sequence窗口设置过滤条件进行查看必要的请求,如下图:

 

选中筛选出来的请求,然后选择相应的Request、Response选项,对该请求进行分析,如下图:

 


 二、Charles抓取手机上的HTTP包

前提:手机和安装有Charles的PC要在同一个局域网内

1、选择Charles,对代理进行设置

Proxy>Proxy Setting,设置代理端口号为:8888(默认值),也可以修改为其他未占用的端口号

 

2、设置手机代理

选择手机的WiFi打开无线网设置界面,选择代理>手动,然后主机名填写Charles主机的IP,端口号为8888,如下图:

 

3、设置完成后,直接在手机上浏览网页,Charles即可抓取响应的HTTP请求,如下图:

 

注意:如果不在抓取手机的包,请取消代理的设置,不然会影响手机的正常上网


 三、Charles篡改数据信息

以访问http://bj.58.com/ 为例

原理说明:

当访问http://bj.58.com/这个网址的时候,是client端发起HTTP请求到server服务端,然后server服务端在返回给client端相应的数据信息。

那么如果我们要篡改数据,那么我们需要在client与server端进行拦截,这样无论是client端发送的数据还是server端返回的数据这样我们就都可以看到了,然后就可以对其数据进行修改,那该如何拦截呢?看下面

1、先使用Charles抓取访问http://bj.58.com/访问的请求,如下图:

 

2、选择该请求,右键然后选择Breakpoints,相当于在该请求上打了一个断点,如下图:

 

也就是说当在此方位bj.58.com这个网址的时候,会被Charles进行拦截,

3、清除访问的数据,重新访问bj.58.com这个网址

 

我们发现界面会一直在转圈请求数据,这是看我们的Charles发现已经拦截到了访问58的请求数据,如下图:

 

在该界面我可以对其访问的请求方式和访问的URL进行修改,如下图:

 

这里我们不做任何修改,选择下面的Execute进行放过

4、放过后会发现服务器返回的数据也被我们拦截到了,如下图:

 

然后在该选项卡我们可以查看Headers、Cookie、和界面的一些信息;选择HTML,将其中的家教老师修改成;家教老师666666,如下图:

 

然后选择Execute进行放过

5、然后我们在看浏览器返回的界面,发现界面的数据已经被修改了,如下图:

 

注意:

使用完成后将添加的断点去掉,否则每次访问都会被Charles进行拦截。

推荐阅读