Fiddler抓包工具的使用

2024-06-03 03:20
文章标签 工具 使用 抓包 fiddler

本文主要是介绍Fiddler抓包工具的使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

1、抓包原理:👇

2、抓包结果👇

1)如何查看一个http请求的原始摸样:

2)分析数据格式:

 3、请求格式分析👇

4、响应格式分析👇


官网下载:安装过程比较简单, 一路 next 即可.Web Debugging Proxy and Troubleshooting Tools|Fiddler (telerik.com)icon-default.png?t=N7T8https://www.telerik.com/fiddler

1、抓包原理:👇

Fiddler 相当于一个 "代理" 🎉

浏览器访问 sogou.com 时, 就会把 HTTP 请求先发给 Fiddler, Fiddler 再把请求转发给 sogou 的服务器. 当 sogou 服务器返回数据时, Fiddler 拿到返回数据, 再把数据交给浏览器. 因此 Fiddler 对于浏览器和 sogou 服务器之间交互的数据细节, 都是非常清楚的.

​ 

代理就可以简单理解为一个跑腿小弟. 你想买罐冰阔落, 又不想自己下楼去超市, 那么就可以把钱给 你的跑腿小弟, 跑腿小弟来到超市把钱给超市老板, 再把冰阔落拿回来交到你手上. 这个过程中, 这 个跑腿小弟对于 "你" 和 "超市老板" 之间的交易细节, 是非常清楚的. 

2、抓包结果👇

1)如何查看一个http请求的原始摸样:

 

2)分析数据格式:

  • HTTP协议是文本格式的协议!!(协议里面的内容都是字符串) 
  • 相比之下,TCP,UDP,IP等都是二进制格式的协议
  • HTT响应也是文本格式的,直接查看,往往能看到二进制的数据(压缩的)
  • HTTP响应经常会被压缩,压缩之后,体积变小,传输的时候,节省网络带宽(但是压缩和解压缩是需要消耗额外的CPU和时间的)

🎉 注意:解压缩之后,可以看到,响应的数据其实是html,浏览器上显示的网页,就是html,往往都是浏览器先请求对应的服务器,从服务器这边拿到的页面数据(html)

HTTP/1.1 200 OK
Server: nginx
Date: Sun, 02 Jun 2024 13:28:45 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Set-Cookie: usid=CD2E55019F13A00A00000000665C738C; expires=Mon, 02-Jun-25 13:28:44 GMT; domain=.sogou.com; path=/
P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"
Cache-Control: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Content-Language: zh-CN
Set-Cookie: JSESSIONID=aaawM3VCn1bIEb7EkW5_y; path=/
Content-Length: 41423<!DOCTYPE HTML><html>
<head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>搜狗浏览器下载_搜狗下载</title><meta name="keywords" content="搜狗浏览器,搜狗浏览器下载,搜狗浏览器官方下载" /><meta name="description" content="..." /><link href="/static/css/frame.css" rel="stylesheet" type="text/css"><link href="/static/css/index.css?v=20231116" rel="stylesheet" type="text/css"><link href="/css/suggestion.css" rel="stylesheet" type="text/css"/><script src="/js/jquery-1.11.1.min.js"></script><script src="/js/jquery.cookie.js"></script><script>var uigs_para = {pagetype:'detail'}</script><script>

 3、请求格式分析👇

GET https://xiazai.sogou.com/detail/34/0/3683367686218309430.html?e=1972 HTTP/1.1
Host: xiazai.sogou.com
Connection: keep-alive
sec-ch-ua: "Microsoft Edge";v="125", "Chromium";v="125", "Not.A/Brand";v="24"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 Edg/125.0.0.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Sec-Fetch-Site: cross-site
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Referer: https://cn.bing.com/
Accept-Encoding: gzip, deflate, br, zstd
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
Cookie: IPLOC=CN6101; SUID=1D315501364A910A0000000065F80FA7; cuid=AAF9FpsHSwAAAAqHS1E3qQEANgg=; SUV=1710755753488466; SNUID=30D3ABFFFDF8E42A405ACACEFEB235F8; LSTMV=268%2C515; LCLKINT=8510; SMYUV=1717334911717261

 

4)Body: 空行后面的内容都是Body. Body允许为空字符串. 如果Body存在, 则在Header中会有 一个Content-Length属性来标识Body的长度;

4、响应格式分析👇

HTTP/1.1 200 OK
Server: nginx
Date: Sun, 02 Jun 2024 13:28:45 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Set-Cookie: usid=CD2E55019F13A00A00000000665C738C; expires=Mon, 02-Jun-25 13:28:44 GMT; domain=.sogou.com; path=/
P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"
Cache-Control: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Content-Language: zh-CN
Set-Cookie: JSESSIONID=aaawM3VCn1bIEb7EkW5_y; path=/
Content-Length: 41423<!DOCTYPE HTML><html>
<head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>搜狗浏览器下载_搜狗下载</title><meta name="keywords" content="搜狗浏览器,搜狗浏览器下载,搜狗浏览器官方下载" /><meta name="description" content="..." /><link href="/static/css/frame.css" rel="stylesheet" type="text/css"><link href="/static/css/index.css?v=20231116" rel="stylesheet" type="text/css"><link href="/css/suggestion.css" rel="stylesheet" type="text/css"/><script src="/js/jquery-1.11.1.min.js"></script><script src="/js/jquery.cookie.js"></script><script>var uigs_para = {pagetype:'detail'}</script><script>

这篇关于Fiddler抓包工具的使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1025883

相关文章

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

Python实现微信自动锁定工具

《Python实现微信自动锁定工具》在数字化办公时代,微信已成为职场沟通的重要工具,但临时离开时忘记锁屏可能导致敏感信息泄露,下面我们就来看看如何使用Python打造一个微信自动锁定工具吧... 目录引言:当微信隐私遇到自动化守护效果展示核心功能全景图技术亮点深度解析1. 无操作检测引擎2. 微信路径智能获

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

redis中使用lua脚本的原理与基本使用详解

《redis中使用lua脚本的原理与基本使用详解》在Redis中使用Lua脚本可以实现原子性操作、减少网络开销以及提高执行效率,下面小编就来和大家详细介绍一下在redis中使用lua脚本的原理... 目录Redis 执行 Lua 脚本的原理基本使用方法使用EVAL命令执行 Lua 脚本使用EVALSHA命令

Java 中的 @SneakyThrows 注解使用方法(简化异常处理的利与弊)

《Java中的@SneakyThrows注解使用方法(简化异常处理的利与弊)》为了简化异常处理,Lombok提供了一个强大的注解@SneakyThrows,本文将详细介绍@SneakyThro... 目录1. @SneakyThrows 简介 1.1 什么是 Lombok?2. @SneakyThrows

使用Python和Pyecharts创建交互式地图

《使用Python和Pyecharts创建交互式地图》在数据可视化领域,创建交互式地图是一种强大的方式,可以使受众能够以引人入胜且信息丰富的方式探索地理数据,下面我们看看如何使用Python和Pyec... 目录简介Pyecharts 简介创建上海地图代码说明运行结果总结简介在数据可视化领域,创建交互式地

Java中的工具类命名方法

《Java中的工具类命名方法》:本文主要介绍Java中的工具类究竟如何命名,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Java中的工具类究竟如何命名?先来几个例子几种命名方式的比较到底如何命名 ?总结Java中的工具类究竟如何命名?先来几个例子JD

Java Stream流使用案例深入详解

《JavaStream流使用案例深入详解》:本文主要介绍JavaStream流使用案例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录前言1. Lambda1.1 语法1.2 没参数只有一条语句或者多条语句1.3 一个参数只有一条语句或者多

Java Spring 中 @PostConstruct 注解使用原理及常见场景

《JavaSpring中@PostConstruct注解使用原理及常见场景》在JavaSpring中,@PostConstruct注解是一个非常实用的功能,它允许开发者在Spring容器完全初... 目录一、@PostConstruct 注解概述二、@PostConstruct 注解的基本使用2.1 基本代

C#使用StackExchange.Redis实现分布式锁的两种方式介绍

《C#使用StackExchange.Redis实现分布式锁的两种方式介绍》分布式锁在集群的架构中发挥着重要的作用,:本文主要介绍C#使用StackExchange.Redis实现分布式锁的... 目录自定义分布式锁获取锁释放锁自动续期StackExchange.Redis分布式锁获取锁释放锁自动续期分布式