Wireshark 具体某种协议的分析

以下是 Wireshark 针对特定协议的分析示例和详细配置教程,涵盖常见的 HTTP、DNS 和 TCP 协议。每种协议的分析过程略有不同,以下逐一介绍:


1. HTTP 协议分析

HTTP 协议是最常见的网络通信协议之一,用于分析网站请求和响应。

(1) 捕获 HTTP 流量
  1. 启动 Wireshark,选择合适的网络接口。
  2. 使用捕获过滤器只捕获 HTTP 流量:
    port 80
    
  3. 如果是 HTTPS,需要安装服务器私钥或使用浏览器的 TLS 会话密钥解密。
(2) 分析 HTTP 流量
  1. 显示过滤器:捕获完成后,可以使用显示过滤器精确筛选:
    • 只显示 HTTP 请求和响应:
      http
      
    • 只显示 GET 请求:
      http.request.method == "GET"
      
    • 只显示 POST 请求:
      http.request.method == "POST"
      
  2. 查看 HTTP 请求/响应
    • 在数据包列表中找到 HTTP 请求,点击后查看下方的详细信息:
      • Request Line:包含请求方法(如 GET/POST)、URL 和协议版本。
      • Headers:如 Host、User-Agent、Cookie 等。
      • Body:POST 请求的参数或提交数据。
(3) 跟踪 HTTP 会话

右键点击一个 HTTP 数据包,选择 Follow > HTTP Stream,可以看到完整的请求和响应对话,包括:

  • 请求的 URL。
  • 服务器返回的状态码(如 200、404)。
  • 响应内容(HTML 页面、JSON 数据等)。

2. DNS 协议分析

DNS 用于域名解析,将域名转换为 IP 地址。

(1) 捕获 DNS 流量
  1. 启动捕获,设置捕获过滤器为:

    port 53
    

    这将只捕获 DNS 查询和响应数据包。

  2. 打开浏览器访问任意网站,产生 DNS 流量。

(2) 分析 DNS 流量
  1. 使用显示过滤器筛选 DNS 流量:
    dns
    
  2. 在数据包列表中,查看 DNS 查询和响应:
    • 查询(Query):显示客户端请求的域名。
    • 响应(Response):包含解析后的 IP 地址。
    • 常见字段:
      • Transaction ID:标识一次 DNS 请求和响应。
      • Query Name:请求的域名。
      • Answer Section:解析结果的 IP 地址。
(3) 定位 DNS 问题
  • 如果没有响应包,可能是 DNS 服务器不可用。
  • 检查是否有异常的域名请求(如可疑的恶意软件流量)。

3. TCP 协议分析

TCP 是一种面向连接的传输协议,常用于 HTTP、HTTPS 等。

(1) 捕获 TCP 流量
  1. 设置捕获过滤器为:
    tcp
    
  2. 开始捕获,运行一个基于 TCP 的应用程序(如浏览网页、FTP 传输)。
(2) 分析 TCP 数据包
  1. 使用显示过滤器筛选特定的 TCP 流量:
    • 只显示从指定 IP 发出的流量:
      ip.src == 192.168.1.1
      
    • 只显示某个端口的 TCP 流量:
      tcp.port == 443
      
  2. 检查 TCP 三次握手(Three-Way Handshake):
    • SYN:客户端发起连接请求。
    • SYN-ACK:服务器响应连接请求。
    • ACK:客户端确认。
  3. 检查数据包标志位:
    • RST:连接被重置。
    • FIN:连接正常关闭。
    • ACK:确认数据接收。
(3) 跟踪 TCP 会话
  • 右键点击一个 TCP 数据包,选择 Follow > TCP Stream
  • 查看整个会话的通信数据,例如 HTTP 请求的完整报文。
(4) 排查 TCP 问题
  • 丢包和重传
    • 查看数据包是否有 [TCP Retransmission]
  • 连接中断
    • 查看是否存在异常的 RST 标志。

4. 配置 HTTPS 解密(进阶)

HTTPS 流量需要解密才能分析具体内容。

(1) 前置条件
  • 拥有服务器的 SSL/TLS 私钥文件。
  • 或者获取浏览器的会话密钥(通过环境变量 SSLKEYLOGFILE)。
(2) 配置解密
  1. 打开 Wireshark,点击 Edit > Preferences
  2. 选择 Protocols > TLS
  3. (Pre)-Master-Secret log filename 中,指定会话密钥文件路径。
  4. 重新加载捕获的数据包,即可解密 HTTPS 流量。

5. 常见问题排查场景

(1) 网络延迟问题
  • 通过 TCP 流量,计算数据包的往返时间(RTT)。
  • 检查是否有 重传超时
(2) DNS 解析慢
  • 检查 DNS 查询和响应的时间差。
  • 查看是否有多次未响应的查询。
(3) HTTP 请求慢
  • 检查 HTTP 响应时间。
  • 分析是否是服务器处理时间过长导致。
(4) 异常流量
  • 检查是否有大量重复的请求(如 DoS 攻击)。
  • 查看是否存在未知域名的 DNS 请求。

总结

  • 针对不同协议的分析,Wireshark 提供了强大的过滤和解码功能。
  • 常用的过滤器和解码功能可以快速定位问题根因。
  • 如果需要更详细的教程,可以针对具体场景进一步展开!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/502720.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uni-app:实现普通选择器,时间选择器,日期选择器,多列选择器

效果 选择前效果 1、时间选择器 2、日期选择器 3、普通选择器 4、多列选择器 选择后效果 代码 <template><!-- 时间选择器 --><view class"line"><view classitem1><view classleft>时间</view><view class"right&quo…

NVIDIA DLI课程《NVIDIA NIM入门》——学习笔记

先看老师给的资料&#xff1a; NVIDIA NIM是 NVIDIA AI Enterprise 的一部分&#xff0c;是一套易于使用的预构建容器工具&#xff0c;目的是帮助企业客户在云、数据中心和工作站上安全、可靠地部署高性能的 AI 模型推理。这些预构建的容器支持从开源社区模型到 NVIDIA AI 基础…

深度学习中的步数指的是什么

Lora微调的截图如下: 在深度学习中,步数(steps) 是指模型参数更新的次数。每次参数更新通常对应一个或多个批次的梯度计算和优化器更新。以下是计算总步数的方法以及步数的具体含义: 1. 步数的计算公式 总步数(Total Optimization Steps)可以通过以下公式计算: [ \te…

【可实战】测试用例组成、用例设计方法、用例编写步骤、测试用例粒度、用例评审(包含常见面试题)

一、测试用例组成 &#xff08;一&#xff09;测试用例的组成 用例编号&#xff0c;模块&#xff0c;测试点&#xff08;测试标题&#xff09;&#xff0c;优先级&#xff0c;前提条件&#xff0c;测试步骤&#xff0c;期望结构&#xff0c;实际结果并不是每一项都必须&#…

Redis两种主要的持久化方式是什么?

Redis支持两种主要的持久化方式&#xff0c;它们分别是RDB&#xff08;Redis Database Snapshotting&#xff09;和AOF&#xff08;Append Only File&#xff09;。以下是这两种持久化方式的详细介绍&#xff1a; 一、RDB&#xff08;Redis Database Snapshotting&#xff09; …

【强化学习】演员评论家Actor-Critic算法(万字长文、附代码)

&#x1f4e2;本篇文章是博主强化学习&#xff08;RL&#xff09;领域学习时&#xff0c;用于个人学习、研究或者欣赏使用&#xff0c;并基于博主对相关等领域的一些理解而记录的学习摘录和笔记&#xff0c;若有不当和侵权之处&#xff0c;指出后将会立即改正&#xff0c;还望谅…

《新概念模拟电路》-电流源电路

电流源电路 本系列文章主要学习《新概念模拟电路》中的知识点。在工作过程中&#xff0c;碰到一些问题&#xff0c;于是又翻阅了模电这本书。我翻阅的是ADI出版的&#xff0c;西安交通大学电工中心杨建国老师编写的模电书。 本文主要是基于前文《新概念模拟电路》-三极管的基础…

Linux下编译安装PETSc

本文记录在Linux下编译安装PETSc的流程。 零、环境 操作系统Ubuntu 22.04.4 LTSVS Code1.92.1Git2.34.1GCC11.4.0CMake3.22.1oneAPI2024.2.1 一、安装依赖 1.1 安装oneAPI 参见&#xff1a;Get the Intel oneAPI Base Toolkit , Get the Intel oneAPI HPC Toolkit 1.2 安…

初学vue3心得

这几年经济形势不好,国外对程序员的要求一直都是全栈,国内也慢慢要求通才,作为一名后端算法工程师,最近在学vue3,以下是最近学习的一点心得: 所有的npm install命令前面一定要改成cnpm install,提高速度 在main.js中引入了import "element-plus/dist/index.css";这…

【顶刊TPAMI 2025】多头编码(MHE)之极限分类 Part 4:MHE表示能力

目录 1 MHE的表示能力2 基于Frobenius-范数的低秩逼近3 基于CE的低秩近似 论文&#xff1a;Multi-Head Encoding for Extreme Label Classification 作者&#xff1a;Daojun Liang, Haixia Zhang, Dongfeng Yuan and Minggao Zhang 单位&#xff1a;山东大学 代码&#xff1a;h…

SRS 服务器入门:实时流媒体传输的理想选择

在当今视频流媒体需求爆炸式增长的时代&#xff0c;如何选择一款高效、稳定且功能强大的流媒体服务器成为了许多开发者和企业关注的焦点。而 SRS&#xff08;Simple Realtime Server&#xff09;作为一款开源的流媒体服务器&#xff0c;以其卓越的性能和灵活的功能&#xff0c;…

IoC设计模式详解:控制反转的核心思想

前言&#xff1a;在软件开发中&#xff0c;设计模式是一种经过验证的、在特定场景下能有效解决问题的解决方案。控制反转&#xff08;Inversion of Control&#xff0c;IoC&#xff09; 作为一种设计模式&#xff0c;通过让程序的控制流和对象管理反转&#xff0c;从而使得代码…

Swift White Hawkstrider

Swift White Hawkstrider 迅捷白色陆行鸟 Swift White Hawkstrider - Item - 魔兽世界怀旧服TBC数据库_WOW2.43数据库_70级《燃烧的远征》数据库 Kaelthas Sunstrider (1) <Lord of the Blood Elves> 凯尔萨斯逐日者. 掉落 [80圣骑士][Alonsus-加丁][诺森德冒险补给品…

2025 年前端新技术如何塑造未来开发生态?

开发领域&#xff1a;前端开发 | AI 应用 | Web3D | 元宇宙 技术栈&#xff1a;JavaScript、React、ThreeJs、WebGL、Go 经验经验&#xff1a;6 年 前端开发经验&#xff0c;专注于图形渲染和 AI 技术 开源项目&#xff1a;AI智简未来、晓智元宇宙、数字孪生引擎 大家好&#x…

2024 年 MySQL 8.0.40 安装配置、Workbench汉化教程最简易(保姆级)

首先到官网上下载安装包&#xff1a;http://www.mysql.com 点击下载&#xff0c;拉到最下面&#xff0c;点击社区版下载 windows用户点击下面适用于windows的安装程序 点击下载&#xff0c;网络条件好可以点第一个&#xff0c;怕下着下着断了点第二个离线下载 双击下载好的安装…

在大型语言模型LLM中使用私有数据

目录 一、说明 二、训练&#xff1f; 三、及时工程 四、构建系统提示 五、数据人性化 六、我的数据安全吗&#xff1f; 一、说明 随着 2023 年大型语言模型的大规模兴起&#xff0c;许多“基于对话”的服务应运而生&#xff0c;使用户能够通过自然对话与数据和其他产品进行交互…

字玩FontPlayer开发笔记6 Tauri2设置菜单

字玩FontPlayer开发笔记6 Tauri2设置菜单 字玩FontPlayer是笔者开源的一款字体设计工具&#xff0c;使用Vue3 ElementUI开发&#xff0c;源代码&#xff1a; github: https://github.com/HiToysMaker/fontplayer gitee: https://gitee.com/toysmaker/fontplayer 笔记 字玩目…

Chapter4.1 Coding an LLM architecture

文章目录 4 Implementing a GPT model from Scratch To Generate Text4.1 Coding an LLM architecture 4 Implementing a GPT model from Scratch To Generate Text 本章节包含 编写一个类似于GPT的大型语言模型&#xff08;LLM&#xff09;&#xff0c;这个模型可以被训练来生…

linux-centos-安装miniconda3

参考&#xff1a; 最新保姆级Linux下安装与使用conda&#xff1a;从下载配置到使用全流程_linux conda-CSDN博客 https://blog.csdn.net/qq_51566832/article/details/144113661 Linux上删除Anaconda或Miniconda的步骤_linux 删除anaconda-CSDN博客 https://blog.csdn.net/m0_…

Speech Recognition vs. Voice Recognition | 语音识别工作原理 | 模型训练 | 应用

注&#xff1a;机翻&#xff0c;未校。 Speech Recognition 与 Voice Recognition 剑桥词典 speech recognition&#xff0c;语音识别 voice recognition&#xff0c;声音识别 Speech vs. Voice - What’s the Difference? | This vs. That https://thisvsthat.io/speech-vs…