【网络取证篇】Fiddler 抓包配置与分析(简)

简单介绍了Fiddler抓包常用到的基础知识,看完可以大概明白怎么分析抓包数据 —【蘇小沐】

Fiddler 抓包工具,可以将网络传输发送与接受的数据包进行截获、重发、编辑、转存等操作。

原理是通过改写HTTP代理,让数据从它那通过,来监控并截取数据;默认设置好浏览器代理,关闭软件的时候会自动还原代理。

Fiddler 官网下载地址:“https://www.telerik.com/download/fiddler”。

640-XdEB

一、Fiddler 抓包环境配置

(一)Fiddler安装过程(略)

(二)Fiddler配置

1、开启”启用IPv6“

路径:“工具 –> 选项 –> 基本 –> 启用IPv6(如果可用);

//(Tools –> Options –> General –> Enable IPv6(if available));

640-CQgb

2、开启“解密HTTPS通信"

路径:“工具 –> 选项 –> HTTPS –> 捕获HTTPS连接 -> 解密HTTPS通信 -> (进程可选,默认从所有进程) -> (可选,忽略服务器证书错误(不安全));

//(Tools –> Options –> HTTPS –> Capture HTTPS CONNECTs –> Decrypt HTTPS traffic);

Fiddler可通过伪造CA证书来达到欺骗浏览器和服务器的目的,从而解密HTTPS数据包。

640-xhUj

首次安装Fiddler到电脑主机上会提示安装证书,一步步点击确定安装就行。

640-YnjW

3、开启”允许远程连接计算机“

路径:“工具 –> 选项 –> 连接 –> 捕获FTP请求 -> 允许远程计算机连接,(其它几个选项可按需勾选);

//(Tools –> Options –> Connections –> Capture FTP requests -> Allow remote computers to connect;

Fiddler默认监听端口是8888,也可自定义;

640-wkZj

4、开启“捕获通信”

路径:“文件 –> 捕获通信 F12”;

//(File –> Capture Traffic F12);

检查下 Fiddler 是否已开启“捕获通信”,确保开启才可以抓获包。开启后在左下角会有“捕获”(Capturing)显示,或者直接点击左下角的捕获图标来开启/关闭抓包功能。

640-cTBj

二、Fiddler 抓包说明

Fiddler 开启抓包后,获取到的数据包会显示在左侧的会话列表中,下面是标识的含义。

(一)”会话框“含义

会话框截图

640-tAxJ

1、“#字段”

#:会话框列表最左侧,#号这一栏是代表这个请求大概什么内容;

<>:这个符号是测试的请求与响应的类型。

名称

含义

#

抓取HTTP Request的顺序,从1开始,以此递增

Result

HTTP状态码

Protocol

请求使用的协议,如HTTP/HTTPS/FTP等

Host

请求地址的主机名

URL

请求资源的位置

Body

该请求的大小

Caching

请求的缓存过期时间或者缓存控制值

Content-Type

请求响应的类型

Process

发送此请求的进程:进程ID

Comments

允许用户为此回话添加备注

Custom

允许用户设置自定义值

1.1 “#图标”

图标

含义

640-blGR

请求已经发往服务器

640-hCxD

已从服务器下载响应结果

640-ZTJS

请求从断点处暂停

640-GOnK

响应从断点处暂停

640-JERw

请求使用 HTTP 的 HEAD 方法,即响应没有内容(Body)

640-FUVc

请求使用 HTTP 的 POST 方法

640-ibMP

请求使用 HTTP 的 CONNECT 方法,使用 HTTPS 协议建立连接隧道

640-CKGN

响应是 HTML 格式

640-MWaW

响应是一张图片

640-DmOj

响应是脚本格式

响应是 CSS 格式

640-Tpsl

响应是 XML 格式

640-HDxF

响应是 JSON 格式

640-IMiT

响应是一个音频文件

响应是一个视频文件

640-TLxv

响应是一个 SilverLight

640-xGiH

响应是一个 FLASH

640-jpwo

响应是一个字体

640-CmZP

普通响应成功

640-BgYq

响应是 HTTP/300、301、302、303 或 307 重定向

640-cVIx

响应是 HTTP/304(无变更):使用缓存文件

640-oRTY

响应需要客户端证书验证

640-orxh

服务端错误

640-qVsz

会话被客户端、Fiddler 或者服务端终止

2、“结果”(result)

服务器的HTTP状态码(HTTP Status Code):是用以表示网页服务器传输协议响应状态的3位数字代码,响应分为五种:  
信息响应:(100-199),服务器接受成功了并处理;  
成功响应:(200-299);  
重定向:(300-399);  
客户端错误:(400-499),最常见的的就是找不到服务器,一般是请求地址有问题;  
服务器错误:(500-599);一般是服务器本身的错误,表示服务器在尝试处理请求时发生内部错误,而不是请求出错。

名称

含义

200

请求成功;请求方法为get/post/head/trace。

202

请求收到但未响应。

400

错误、无效请求;服务器不理解请求的语法。(解决办法传参格式不正确)

401

未授权;服务器理解请求但是拒绝执行,对于有权限要求,如:需要登录的网页、黑名单、ip过于频繁访问服务器都可能返回此响应。

403

禁止;服务器拒绝请求。

404

未找到;请求资源失败,找不到服务器请求的网页。

405

请求方法不被接受,比如某个接口只能用post请求,但是用了get请求,则会报405。

500

服务器内部错误;服务器遇到错误无法完成请求,常见于用户权限、数据库连接等出现的错误。(解决办法传参数不正确)

501

尚未实施;服务器不具备完成请求的功能。例如,服务器无法识别请求方法时可能会返回此代码。

502

错误网关;服务器作为网关/代理,从上游服务器收到无效响应,如链接超时、服务器请求链接过多导致服务器无法正常响应。

503

服务不可用;由于CPU超载或停机维护使得服务器目前无法正常使用。

504

网关超时;服务器作为网关或代理,但是没有及时从上游服务器收到请求。

505

HTTP 版本不受支持,即服务器不支持请求中所用的 HTTP 协议版本。

507

服务器有内部配置错误。

3、“协议”(protocol)

协议类型,如:http、https等.

4、“域名”(host)

主机地址或域名

5、“网址”(url)

请求的路径

6、“正文”(body)

该条请求产生的数据大小

7、“缓存”(caching)

缓存相关

8、“连接类型”(content-type)

连接类型

9、“进程”(process)

客户端类型

10、“注释”

(二)检查( Inspectors)

用来查看当前会话获取到的数据内容:

上半部分:请求内容;

下半部分:响应内容。

640-XrXc

1、统计(Statistics)

包括客户端连接请求和服务器响应连接的数据统计等。
640-MXzx

结语

简单的抓包初阶教程,常遇到的都做了简要说明,对于小白简分析抓包比较友好,上手快。即是写着玩、也是总结和分享吧,大神请忽略!

记录

开始编辑:2020 年 11 月 11 日

最后编辑:2020 年 11 月 12 日

本文转自 https://mp.weixin.qq.com/s/dRGrK_vvy1pwsyNfEV7nsQ,如有侵权,请联系删除。


【资料下载】