当前位置: 首页 > article >正文

【Java ee】关于抓包软件Fiddler Classic的安装与使用

Web Debugging Proxy Tool | Fiddler Classic

安装网站↑

下载好安装包之后,双击一路next就可以了

一、抓包软件

电脑上安装了抓包软件之后,抓包软件就可以监听你的网卡上通过的数据。

本来是你的客户端通过网卡,把数据发给目标服务器,而有了抓包软件之后,你的客户端就会把数据通过网卡,先发给抓包软件,抓包软件把数据再通过网卡发给目标服务器。

服务器返回的数据,也是先到达抓包软件,再返回到你的客户端。

抓包软件就能获取到客户端-服务器之间的详细数据。

左侧是HTTP的请求/响应列表。

即使什么都不干,很可能也会有很多的“请求/响应”,你的电脑后台,会有很多程序在做一些事情。

1.也有人发现,这个里面什么都没有
确保你在 fiddler 的设置中,勾选 HTTPS 的选项

(当前网络环境中,纯 HTTP 比较少,更多的都是 HTTPS)
fiddler 默认没有开启 HTTPS 的

首次勾选,会弹出框提示,"是否要信任他的证书"
一定要选择 "信任"
2. 如果勾选了 HTTPS 还是抓不到包
排查你的机器上是否开启了其他代理程序. (单独的程序/浏览器的某个插件....)
把其他的代理关闭掉

右侧上方是HTTP请求的详情

右侧下方是HTTP响应的详情
构成网页的关键部分.
一个网页通常由三个部分构成
1) HTML: 网页结构 骨
2) CSS:网页的样式 皮 (包括不限于 颜色, 字体, 对齐方式, 位置, 边距, 边框.....)
3) JavaScript:网页的交互 魂 (用户和网页之间的交互方式. 点击某个地方, 有 xxx 效果.... 按下键盘某个键, 有 xxx 效果。滚动鼠标滚轮, 有个 xxx 效果.....)

浏览器和服务器之间, 就会存在多次这样的 HTTP 交互.
其中有的 HTTP 交互会获取到 HTML
有的会获取到 CSS
还有的会获取到 JavaScript
还有的会获取到一些依赖的资源(图片, 视频, 音频, 字体...)

在 fiddler 抓取到的 "请求/响应" 列表中
需要找到我们主动触发的这个请求响应.

1) 看域名
2) 看颜色. 蓝色的表示这次响应是一个 HTML 的内容

由于直接点击 刷新按钮, 很可能是看不到获取 CSS/JS 这样的 HTTP 交互的 (浏览器带有缓存)

一个计算机, 访问存储设备的速度:
1) CPU 寄存器
2) 内存
3) 硬盘
4) 网络 (不绝对, 万兆网卡, 大概率是比硬盘快的...家用设备一般没有这种)

必应主页, 要想能够正确的显示, 就需要把 HTML CSS JS 这些内容都加载出来, 页面才能正确显示....

典型的问题: 明明把 css/js 代码修改了, 但是重新访问, 发现修改没有生效

为了优化上述的加载速度, 引入了 "浏览器缓存"
第一次访问必应, 会把上述所有资源都加载; (CSS, JS, 图片... 保存到浏览器所在机器的硬盘上)
后序再访问必应的时候, 只从服务器获取 html 即可, CSS/JS 直接用上次获取过的

通过 ctrl + 点击刷新按钮 / ctrl + F5 都会触发 "全量获取数据", 忽略本地的缓存, 从服务器获取到完整的数据

点击View进行查看

http://www.lryc.cn/news/2380045.html

相关文章:

  • 第五部分:第五节 - Express 路由与中间件进阶:厨房的分工与异常处理
  • 在 CentOS 7.9 上部署 node_exporter 并接入 Prometheus + Grafana 实现主机监控
  • C++--内存管理
  • Java实现PDF加水印功能:技术解析与实践指南
  • Django + Celery 打造企业级大模型异步任务管理平台 —— 从需求到完整实践(含全模板源码)
  • TC3xx学习笔记-UCB BMHD使用详解(二)
  • 用Python实现数据库数据自动化导出PDF报告:从MySQL到个性化文档的全流程实践
  • 实战设计模式之状态模式
  • 人工智能、机器学习与深度学习:概念解析与内在联系
  • 什么是着色器 Shader
  • Redis的主从架构
  • 博客系统功能测试
  • 【深度学习新浪潮】什么是多模态大模型?
  • 机器学习前言2
  • 【成品设计】基于Arduino的自动化农业灌溉系统
  • 前端页面 JavaScript数据交互
  • esp32课设记录(三)mqtt通信记录 附mqtt介绍
  • string类(详解)
  • MATLAB | R2025a 更新了哪些有趣的东西?
  • 前缀和——和为K的子数组
  • React 第四十二节 Router 中useLoaderData的用途详解
  • 千问大模型部署
  • 深入理解 ZAB:ZooKeeper 原子广播协议的工作原理
  • GO语言语法---if语句
  • Unix Bourne Shell
  • GraphPad Prism项目的管理
  • 驱动-Linux定时-timer_list
  • STM32F103_LL库+寄存器学习笔记22 - 基础定时器TIM实现1ms周期回调
  • 5个yyds的.Net商城开源项目
  • C++:与7无关的数