1. Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。 Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式。

    (1)Fiddler4的下载与安装教程

    打开百度首页,搜索“fiddler 4”,如下图所示:

    640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=
    下载文件到本地后,右键安装文件,以管理员身份运行,如下图所示:

    640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=
    选择路径安装或者默认,安装成功后,打开fiddler4,并用浏览器打开某个网站,可以在fiddler的软件界面中,看到http协议调试的结果分析,如下图所示:

    640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

    (2)Fiddler对应用抓包图文教程,以安卓应用为例:

    如下图设置Fiddler 代理:

    640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

    点击OK,在这里代理就设置完成,一定要重启软件配置才生效,下面是手机端的设置。

    手机设置,以红米手机为例:

    找到手机的Wifi,必须电脑和手机处于同一个Wifi下。最好是电脑发一个Wifi出来。在cmd中输入ipconfig,即可查找到主机号。


    选择所使用的wifi热点,修改网络配置:


    640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=



 代理设置为:手动;代理主机名为电脑的IP,端口就是刚才Fiddler设置的端口,默认是8888,设置完成后点“确定“。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=


(3)模拟器(android 2.3)设置





到这里设置完成,让我们看看都抓到什么东东。

我们看看爱奇艺吧,获取页面内容如下:


不禁感叹,很好很强大~~

提示:Fiddler可以设置过滤,可以很方便看到我们想要的Http包:


2.Charles

无独有偶,Charles与Fiddler很相像。下面我们再来看看Charles。

(1)前言:Charles是一款抓包修改工具,相比起burp,charles具有界面简单直观,易于上手,数据请求控制容易,修改简单,抓取数据的开始暂停方便等等优势!下面来详细介绍下这款强大好用的抓包工具。

(2)下载与安装

首先是工具下载和安装 首先需要下载java的运行环境支持(一般用burp的人肯定也都有装java环境)。装好java环境后,可以直接去百度搜索并下载charles的破解版,下载到破解版之后,里面一般会有注册的jar文件,然后注册后就可以永久使用了(ps:不注册的话,每次使用30分钟,工具就会自动关闭)。

(3)PC端抓包

下面是pc端的抓包使用情况 Charles支持抓去http、https协议的请求,不支持socket。

然后charles会自动配置IE浏览器和工具的代理设置,所以说打开工具直接就已经是抓包状态了。 这里打开百度抓包下,工具界面和相关基础功能如下图所示:



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

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

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

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

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

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


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

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

post请求可以显示form形式,直观明了。


⑦返回数据内容信息的显示。


其中⑤、⑥、⑦中都有各种形式的数据显示形式,其中raw是原始数据包的状态。

(4)显示模式

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

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


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


具体要说两种形式哪个更好,这个就是见仁见智了。本人比较喜欢第一种,温柔细腻!

(5)移动APP抓包

这里相比其他抓包软件来说要简单的多了,具体步骤如下:

① 使手机和电脑在一个局域网内,不一定非要是一个ip段,只要是同一个漏油器下就可以了,比如电脑连接的有线网ip为192.168.16.12,然后手机链接的wifi ip为192.168.1.103,但是这个有线网和无线网的最终都是来自于一个外部ip,这样的话也是可以的。

②下面说说具体配置,这里电脑端是不用做任何配置的,但是需要把防火墙关掉(这点很重要)!

然后charles设置需要设置下允许接收的ip地址的范围。 设置首先要进入这个位置 Proxy - Access Control Settings 然后如果接收的ip范围是192.168.1.xxx的话,那么就添加并设置成192.168.1.0/24 如果全部范围都接收的话,那么就直接设置成0.0.0.0/0


然后如果勾选了Proxy - Windows Proxy 的话,那么就会将电脑上的抓包请求也抓取到,如果只抓手机的话,可以将这个设置为不勾选。

(6)接下来下面是手机端的配置

设置方法与Fiddler的设置一模一样。首先利用cmd - ipconfig命令查看自己电脑的ip地址。

然后在手机端的wifi代理设置那里去进行相关的配置设置。

这里的代理服务器地址填写为电脑的ip地址,然后端口这里写8888(这个是charles的默认设置),如果自己修改了就写成自己所修改的端口就可以了。

这样就配置完成就大功告成了!下面打开UC浏览器或者其他东西,随便访问个网页看有没有抓取到数据就可以了。


(7)其他常用功能

上面介绍的那些已经学会了,下面再说说charles的一些其他常用的功能。

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


还有比如说修改referer测试CSRF漏洞,修改form内容测试XSS,修改关键的参数测试越权,修改url、form、cookie等信息测试注入等,都非常方便。

这款工具的介绍就到这里了,相信这款方便好用的工具,以后肯定会被更多的人使用到的。至于要选择Fiddler还是charles,那么就根据个人的情况来选取吧,各有各的强大~~

(8)charles使用问题汇总

Charles是一款很好用的抓包修改工具,但是如果你不是很熟悉这个工具的话,肯定会遇到各种感觉很莫名其妙的状况,这里就来帮你一一解答。

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

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

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

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

③为什么我在操作的时候有时候就直接工具就界面卡住死了,关都关不掉,只能用任务管理器才可以关掉?

这个的确是charles这个工具的一个bug,开始用的时候,我也很恶心,而且经常悲剧,但是现在也有相应的解决办法了,下面那样操作就可以了。

首先随便抓些包,要求有图片的请求。


然后选中一个图片的请求,然后分别点击 Response - Raw 然后那里会加载其中的内容,然后加载完毕后,再去随便操作就可以了,就不会在悲剧的直接工具卡死掉了。。。

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

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

解决办法:

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

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

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

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

⑥为什么我用charles抓取手机APP,什么都是配置正确的,但是却抓不到数据。

首先,请确保电脑的防火墙是关闭状态,这个很重要。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

如果,防火墙关了还是不行,那么请把手机wifi断掉后重新连接,这样一般就可以解决问题了。 如果以上方法还是不行的话,那么请将手机wifi位置的ip地址设置成静态ip,然后重启charles工具。

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

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

⑧ 我用charles抓手机app的数据,但是同时也会抓去到电脑端的数据,可以设置吗?

可以,设置位置在Proxy - Windows Proxy ,勾选表示接收电脑的数据抓包,如果只想抓去APP的数据请求,可以不勾选此功能。

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

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

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

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

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

以上就是charles在使用过程中常见的10中问题和相应的解决情况,有了这个文章,大家就不用在遇到问题的时候懊恼了。

3.Wireshark

Wireshark 是网络包分析工具。网络包分析工具的主要作用是尝试捕获网络包, 并尝试显示包的尽可能详细的情况。

二.娱乐类产品业务逻辑图


三.分析数据和篡改数据(以Fiddler为例)

1、拦截http包修改替换数据:当确认连接成功后,选择好需要的接口并双击。点击get请求的链接,可以查看到服务器所下发的所有的数据,将所有内容贴出来,用json在线编辑器(http://www.qqe2.com/)或者是json转换器(http://www.jsoneditoronline.org/)转换成json格式,格式化后可以清晰的查看数据,查找需要替换的测试数据直接在json编辑器上编辑,保存。



2.如需转化带有中文编码到Unicode

(1)修改后将内容利用unicode将中文符转换回来,不然会出错。

(2)unicode转换器地址:http://tool.chinaz.com/tools/unicode.aspx

(3)将转换后的内容贴到一个txt文档中并起一个自定义的名称,如:修改测试主页图片与名称。

3.正则化:修改url请求,令下次同样的请求匹配

(1)进入AutoResponder选项,左侧要替换内容的接口点选中的前提下,点击Add Rule,添加接口并勾选(默认添加后是勾选的)

(2)点击最下面一栏的Find a file 选项,并选中之前编辑好的文档,点击save保存,将上方三个勾选框选中。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=
640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

(3)完成,刷新手机验证数据是否成功修改。

4.篡改数据

此时把刚刚修改好的json格式存文地文本修改,查看客户端展示效果。

修改前:

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

修改后:

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

四.Fiddler工具代理重定向用法

Host设置服务器重定向(服务端支持)

具体步骤:Tools - HOST...  - 勾上勾选框并输入指定的ip和host,点击sav保存后刷新app数据即可请求新服务器数据。

例如:

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=
注释加个#:

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=友情提醒:

1.fiddler使用完毕后,需要把手机上的Fiddler代理关闭,避免Fiddler关闭后手机不能上网。

2.重构造数据或重定向接口、服务器后,把Fiddler的设置关闭(尤其是host设置),否则下次使用时容易出现误操作,数据仍然是之前的数据。