Fiddler抓包工具实战

190 篇文章 0 订阅
188 篇文章 3 订阅

Fiddler简介

Fiddler是位于客户端和服务器端的HTTP代理
目前最常用的http抓包工具之一
功能非常强大,是web调试的利器

  • 监控浏览器所有的HTTP/HTTPS流量
  • 查看、分析请求内容细节
  • 伪造客户端请求和服务器响应
  • 测试网站的性能解密HTTPS的web会话
  • 全局、局部断点功能
  • 第三方插件

场景使用场景

  • 接口调试、接口测试、线上环境调试、web性能分析
  • 判断前后端bug、开发环境hosts配置、mock、弱网断网测试

B/S架构

编写程序部署到web服务器
web服务器运行在服务器上,绑定ip地址并监听某端口,接收和处理http请求
客户端通过http协议获取服务器上的网页、文档等

工作原理

HTTP

Hyper Text Transfer Protocol(超文本传输协议)
用于从万维网服务器传输超文本到本地浏览器的传送协议
HTTP协议是基于TCP的应用层协议,它不关心数据传输的细节,主要是用来规定客户端和服务端的数据传输格式,最初是用来向客户端传输HTML页面的内容。默认端口是80
http是基于请求与响应模式的、无状态的、应用层的协议

完整的HTTP协议

完整的http协议包含请求和响应两块内容

HTTP请求报文

HTTP请求报文主要由请求行、请求头部、空一行、请求正文(请求体)4部分组成

如下是fiddler某个会话的请求报文

请求方法( Request Method)

请求方法

备注

GET

请求资源

POST

提交资源

Head

获取响应头

PUT

替换资源

DELETE

删除资源

OPTIONS

允许客户端查看服务器的性能

TRACE

回显服务器收到的请求,用于测试或诊断

URL

Uniform Resource Locator:统一资源定位符,用于描述网上的资源
格式:schema://host[:port#]/path/.../[?query-string]

scheme:协议,如http,https,ftp等
host:域名或者IP地址
port:端口
path:资源路径
query-string:发送的参数

如:https://www.baidu.com/s?wd=美美哒

请求头(Request Header)

请求头

描述

Host

主机ip地址或域名

User-Agent

客户端相关信息,如果操作系统、浏览器等信息

Accept

指定客户端接收信息类型,如:image/jpg,text/html,application/json

Accept-Charset

客户端接受的字符集,如gb2312、iso-8859-1

Accept-Encoding

可接受的内容编码,如gzip

Accept-Language

接受的语言,如Accept-Language:zh-cn

Authorization

客户端提供给服务端,进行权限认证的信息

Cookie

携带的cookie信息

Referer

当前文档的URL,即从哪个链接过来的

Content-Type

请求体内容类型,如Content-Type:
application/x-www-form-urlencoded

Content-Length

数据长度

Cache-Control

缓存机制,如Cache-Control:no-cache

Pragma

防止页面被缓存,和Cache-Control:no-cache作用一样

HTTP响应报文

HTTP响应报文主要由状态行、消息报头、空一行、响应正文4部分组成

如下是fiddler某个会话的响应报文

状态码(Status Code)

用以表示网页服务器HTTP响应状态的3位数字代码

状态码

描述

1XX

提示信息,请求被成功接收

2XX

成功,请求被成功处理 200

3XX

重定向相关 304

4XX

客户端错误 404

5XX

服务器端错误 500

响应头(Response Header)

响应头

描述

Server

HTTP服务器的软件信息

Date

响应报文的时间

Expires

指定缓存过期时间

Set-Cookie

设置Cookie

Last-Modified

资源最后修改时间

Content-Type

响应的类型和字符集,如:Content-Type: text/html; charset=utf-8

Content-Length

内容长度

Connection

如Keep-Alive,表示保持tcp连接不关闭,不会永久保持连接,服务器可设置

Location

指明重定向的位置,新的URL地址,如304的情况

GET请求

格式http://host:port/path?xx=aa&yy=bb
如:
http://120.78.128.25/futureloan/mvc/api/member/register?mobilephone=13555555528&pwd=萌萌哒
说明:

  • http/https:协议类型
  • host:服务器主机ip地址或域名
  • port:端口号,如果是80可以省略,其它端口必须指明
  • path:访问资源的路径
  • ?:分隔符,用于区别path和参数
  • xx=aa、yy=bb:请求参数列表
  • &:多个参数的连接符号


未完待续,催更请点赞

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Fiddler是一个强大的网络调试工具,特别适合Windows平台,常用于抓取和分析HTTP/HTTPS数据包。如果你想要在手机上使用类似功能并进行实战,通常会涉及到以下步骤: 1. **Fiddler代理设置**:首先,你需要在电脑上安装Fiddler,并将其设置为全局HTTP和HTTPS代理。这样,手机通过网络请求的数据会经过电脑,便于抓包。 2. **手机应用支持**:不是所有手机App都能直接支持Fiddler抓包,对于Android设备,可能需要使用如 Charles 或mitmproxy这样的代理工具;对于iOS设备,你可能需要使用Paw或者Charles(通过USB连接)。 3. **证书管理**:为了让手机信任电脑作为代理,你可能需要在Fiddler中创建或导入自签名的SSL证书。 4. **手机配置**:在手机的开发者选项或网络设置中,允许应用访问USB调试模式(仅限Android)或连接到特定的Wi-Fi网络(如Charles提供的)。 5. **实际抓包**:开始使用Fiddler或选择的工具捕获流量,观察手机发出的请求和接收到的响应,你可以查看请求头、请求体、响应头和响应体等信息,这对于诊断网络问题、调试API交互或测试安全漏洞非常有用。 6. **模拟数据或修改请求**:如果需要,你可以修改或模拟返回的响应,进行测试或者研究App的行为。 相关问题: 1. Fiddler如何设置为手机的代理? 2. 对于不支持直接抓包的App,有哪些替代方案? 3. 在iOS设备上如何通过Fiddler进行抓包

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喜欢软测的小北葵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值