计算机网络实验(二):Wireshark网络协议分析
一、实验名称:Wireshark网络协议分析
二、实验原理
HTTP协议分析
1.超文本传输协议(Hypertext Transfer Protocol, HTTP)是万维网(World Wide Web)的传输机制,允许浏览器通过连接Web服务器浏览网页。目前在大多数组织中,HTTP流量在网络中所占的比率是最高的。每一次使用Google搜索、连接Twitter、发一条微博,或者在ESPN上查看肯塔基大学的篮球比分,你都会用到 HTTP。我们不会去看HTTP传输的数据包结构,因为有着不同目的的数据包的内容差别会很大。这里,我们来看 HTTP的实际应用。
2.HTTP浏览:HTTP常被用来浏览Web服务器上使用浏览器访问的网页。
3.HTTP的工作方式并不复杂,先由客户端向服务器发起一个请求,再由服务器回复一个响应。根据不同需要,客户端发送的请求会用到不同的方法,由GET、POST、PUT和HEAD等,比如在网站上登录账号时就可能用到POST方法。
DNS协议分析
1. DNS查询:客户端向DNS服务器发送一个查询,服务器在响应中提供所请求的信息。
2.DNS区域传送:出于冗余备份的需要,在两台设备之间传送区域数据。
3.DNS递归:由于互联网的DNS结构是层级式的,因此为了能够回答客户端提交的查询,DNS服务器必须能够彼此通信。我们的内部DNS服务器知道本地局域网服务器的名字和IP地址的映射,但不太可能知道Google或者Dell的IP地址。当DNS服务器需要查找一个IP地址时,它会代表发出请求的客户端向另一个DNS服务器进行查询。实际上,这个DNS服务器与客户端的行为相同。这个过程叫作递归查询。
DHCP协议分析
1.DHCP 是一个应用层协议,负责让设备能够自动获取 IP 地址(以及其他重要 的网络资源,比如 DNS 服务器和路由网关的地址)。今天大多数的 DHCP 服务器 都向客户端提供其他的一些参数,比如网络上的默认网关和 DNS 服务器的地址。
2.DHCP续租过程:发现、提供、请求、确认。通过数据包可以查看到DHCP续租过程的工作流程。
3.DHCP v6的SARR过程:发起,公告,请求,回复。通过数据包可以查看到此过程服务器与客户端通信的具体流程和信息。
DHCPv6和DHCP的数据包结构有很大区别,但是在功能实现思路上是一致的。这个过程仍然包括DHCP服务器发现步骤和正式的配置信息获取步骤。这些事件通过客户端和服务器之间交互数据包中的事务ID进行关联。传统的DHCP机制不支持IPv6地址分配,因此,如果你的设备能够从网络中的某个服务器自动获取IPv6地址,则这表明你的网络中已经在运行DHCPv6服务。如果你想要进一步比较DHCP和DHCPv6,我们建议使用抓包工具在客户端和服务器端逐步进行分析。
三、实验目的
HTTP协议分析
目的1:理解高层协议HTTP的数据包分析
DNS协议分析
目的1:理解高层协议DNS的数据包分析
DHCP协议分析
目的1:理解高层协议DHCP的数据包分析
四、实验内容:
HTTP协议分析
对C:\数据包\ppa3ecaptures_updated\ppa3ecaptures下的数据包进行分析:
- 分析捕获文件http_google.pcap,了解HTTP的浏览过程。
- http_post.pcap文件分析,了解HTTP传送数据。
DNS协议分析
对C:\数据包\ppa3ecaptures_updated\ppa3ecaptures下的数据包进行分析:
- 分析捕获文件dns_query_response.pcap,对DNS查询过程进行进一步认识;
- 分析数据包dns_recursivequery_client.pcap,了解DNS递归过程;
- 分析dns_axfr.pcap数据包,了解DNS区域传送过程。
DHCP协议分析
对C:\数据包\ppa3ecaptures_updated\ppa3ecaptures下的数据包进行分析:
- 分析dhcp_nolease_initialization.pcapng数据包,对DHCP续租过程进行理解。
- 分析dhcp6outlease acquisition.pcapng数据包,对DHCP v6的SARR过程进行分析了解。
五、实验步骤:
HTTP协议分析






DNS协议分析








DHCP协议分析






六、实验数据及结果分析:
实验数据
1. 背景和目的明确:实验文档和操作视频指导中明确了实验的背景和目的,即使用Wireshark软件对虚拟机内存储的数据包进行分析。
2. 截图一致:所捕获的截图数据与实验文档中的案例一致,成功地复现了实验中的情景,保证了数据的准确性。
3. 结果与预期相符:实验数据处于正常区间范围,实验结果与预期结果相符,没有出现异常情况。
4. 网络协议解析:成功使用Wireshark软件对数据包进行了解读和分析,包括识别不同的网络协议、分析数据包的源和目标地址、端口号等关键信息。
结果分析
1. HTTP网络协议分析与解读:成功分析和解读了HTTP网络协议,包括对HTTP请求和应答行为的理解。
2. DNS网络协议分析与解读:完成了对DNS网络协议的分析与解读,包括了DNS查询和响应的解析。
3. DHCP网络协议分析与解读:成功分析和解读了DHCP网络协议,包括DHCP请求和分配IP地址的过程。
4. 实验数据正常范围:实验数据处于正常范围内,实验操作没有出现异常情况,数据符合预期。
七、实验结论:
1. 了解与熟悉Wireshark:
在本次实验中,我们着重对Wireshark网络数据包分析软件进行了解与熟悉。
包括掌握Wireshark软件的基本功能和操作界面。
2. 掌握Wireshark各种操作:
我们通过实验进一步掌握了Wireshark软件中的各种操作方法。
这些操作方法涵盖了捕获、解析和分析网络数据包的技能。
3. 使用Wireshark工具:
在实验中,我们将Wireshark作为工具,用它来进行网络数据包的分析。
4. 读取虚拟机中的数据包:
我们使用Wireshark成功读取了虚拟机中的数据包。
这意味着我们能够分析虚拟机中的网络流量,进一步了解网络协议的工作方式。
5. 对网络协议内容进行读取与分析:
通过Wireshark,我们能够对网络协议内容进行读取和分析。
包括识别不同的网络协议、分析数据包的源和目标地址、端口号等关键信息。
八、总结及心得体会:
在本次计算机网络实验中,我们通过使用Wireshark网络数据包分析软件,深入了解了HTTP、DNS和DHCP等网络协议的工作原理和数据包结构。以下是我们的四点总结和心得:
1、Wireshark的应用:本次实验让我们更加熟悉了Wireshark这一强大的网络分析工具。Wireshark能够捕获和解析网络数据包,帮助我们深入理解网络通信过程。
2、HTTP协议分析:我们成功分析了HTTP协议,包括HTTP请求和应答的过程。这有助于我们理解Web浏览和数据传输是如何在HTTP协议下进行的。
3、DNS协议分析:通过分析DNS协议,我们了解了DNS查询、递归查询和区域传送等不同方面。
4、DHCP协议分析:我们深入研究了DHCP协议和DHCPv6协议,包括续租过程和SARR过程。这让我们理解了如何自动获取IP地址和其他网络资源。
相关文章:
计算机网络实验(二):Wireshark网络协议分析
一、实验名称:Wireshark网络协议分析 二、实验原理 HTTP协议分析 1.超文本传输协议(Hypertext Transfer Protocol, HTTP)是万维网(World Wide Web)的传输机制,允许浏览器通过连接Web服务器浏览网页。目…...
Spark内核解析-数据存储5(六)
1、Spark的数据存储 Spark计算速度远胜于Hadoop的原因之一就在于中间结果是缓存在内存而不是直接写入到disk,本文尝试分析Spark中存储子系统的构成,并以数据写入和数据读取为例,讲述清楚存储子系统中各部件的交互关系。 1.1存储子系统概览 …...
ASP.NET Core高级之认证与授权(一)--JWT入门-颁发、验证令牌
阅读本文你的收获 了解认证和授权的作用了解在ASP.NET Core中实现身份认证的技术都有哪些学习基于JWT认证并学会颁发和验证JWT令牌 一、重要的前置概念 在一个系统中,不是所有的功能和资源都能够被自由地访问,比如你存在银行系统里面的资金,…...
实例:NodeJS 操作 Kafka
本人是C#出身的程序员,c#很简单就能实现,有需要的可以加我私聊。但是就目前流行的开发语言,尤其是面向web方向应用的,我感觉就是Nodejs最简单了。下面介绍: 本文将会介绍在windows环境下启动Kafka,并通过n…...
AI实景无人直播创业项目:开启自动直播新时代,一部手机即可实现增长
在当今社会,直播已经成为了人们日常生活中不可或缺的一部分。无论是商家推广产品、明星互动粉丝还是普通人分享生活,直播已经渗透到了各行各业。然而,传统直播方式存在着一些不足之处,如需现场主持人操作、高昂的费用等。近年来&a…...
YOLOv5改进 | 损失函数篇 | InnerIoU、InnerSIoU、InnerWIoU、FocusIoU等损失函数
一、本文介绍 本文给大家带来的是YOLOv5最新改进,为大家带来最近新提出的InnerIoU的内容同时用Inner的思想结合SIoU、WIoU、GIoU、DIoU、EIOU、CIoU等损失函数,形成 InnerIoU、InnerSIoU、InnerWIoU等新版本损失函数,同时还结合了Focus和AIpha思想,形成的新的损失函数,其…...
构建高效PythonWeb:GraphQL+Sanic
1.1 简介:在当今快速发展的技术时代,Web应用的性能和灵活性变得越来越重要。在众多技术中,GraphQL和Sanic以其独特的优势脱颖而出。GraphQL,作为一个强大的数据查询语言,为前端和后端之间的通信提供了极大的灵活性。而…...
【通义千问】大模型Qwen GitHub开源工程学习笔记(5)-- 模型的微调【全参数微调】【LoRA方法】【Q-LoRA方法】
摘要: 训练数据的准备 你需要将所有样本放到一个列表中并存入json文件中。每个样本对应一个字典,包含id和conversation,其中后者为一个列表。示例如下所示: [{"id": "identity_0","conversations": [{"from": "user",…...
PCL 大地坐标转空间直角坐标(C++详细过程版)
目录 一、算法原理二、代码实现三、结果展示四、测试数据本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT生成的文章。 一、算法原理 二、代码实现 头文件及读取保存函数见:PCL 空间直角坐标转大地坐标(直接求解法C…...
Linux之Shell编程
shell是什么 shell是一个命令行解释器,他为用户提供一个向linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动,挂起,停止甚至编写一些程序。 shell脚本的执行方式 脚本格式要求 脚本以#!/bin/bash开头脚本需…...
Unity组件开发--传送点
本组件仅实现A传送点到B传送的功能,是可以双向传送的,如果只要单向传送,可以另外改脚本实现; 先看效果: unity组件传送点演示 1.传送组件shader是怎么写的:这种效果的实现方案 shader编辑器是这样的&#…...
vue结合Cesium加载gltf模型
Cesium支持什么格式? Cesium支持的格式包括:3D模型格式(如COLLADA、gITF、OBJ)、影像格式(如JPEG、PNG、GeoTIFF)、地形格式(如STL、Heightmap)、矢量数据格式(如GeoJSON…...
逆置算法和数组循环移动算法
元素逆置 概述:其实就是将 第一个元素和最后一个元素交换,第二个元素和倒数第二个元素交换,依次到中间位置。用途:可用于数组的移动,字符串反转,链表反转操作,栈和队列反转等操作。 逆置图解 …...
【MATLAB】数豆子
Matlab数豆子 创建一个变量来表示豆子的数量。例如,可以使用豆子数量 100;来表示有100颗豆子。 使用disp函数打印出豆子的数量。例如,可以使用disp([目前有 num2str(豆子数量) 颗豆子])来打印出当前豆子的数量。 进行豆子的计数操作。例如,…...
QT C++中调用python脚本时,import第三方库失败问题解决
QT C中调用python脚本时,import第三方库失败问题解决 文章目录 QT C中调用python脚本时,import第三方库失败问题解决前言一、问题复现二、调试过程三、问题解决1 numpy问题解决2 matplotlib问题解决 四、补充说明五、参考资料 前言 项目需要,…...
【AI视野·今日Robot 机器人论文速览 第七十期】Thu, 4 Jan 2024
AI视野今日CS.Robotics 机器人学论文速览 Thu, 4 Jan 2024 Totally 17 papers 👉上期速览✈更多精彩请移步主页 Daily Robotics Papers Many-Objective-Optimized Semi-Automated Robotic Disassembly Sequences Authors Takuya Kiyokawa, Kensuke Harada, Weiwei …...
Flutter中的布局组件介绍及使用
1. 引言 Flutter 是一款由 Google 开发的开源 UI 软件开发工具,可用于在单个代码库中构建漂亮、本机编译的应用程序。在 Flutter 中,布局是构建用户界面的核心部分之一。本文将介绍 Flutter 中的全部布局组件,以及它们的使用方式。 2. 基础…...
【面试高频算法解析】算法练习2 回溯(Backtracking)
前言 本专栏旨在通过分类学习算法,使您能够牢固掌握不同算法的理论要点。通过策略性地练习精选的经典题目,帮助您深度理解每种算法,避免出现刷了很多算法题,还是一知半解的状态 专栏导航 二分查找回溯(Backtracking&…...
认识Git
🌎初识Git 初识Git 什么是Git Git的安装 Centos平台安装Git Ubuntu平台安装Git Git的基本操作 创建远程仓库 配置Git 认识工作区、暂存区与版本库 添加文件到暂存区 将暂存区文件提交至本…...
@RequestParam,@RequestBody和@PathVariable 区别
RequestParam,RequestBody和PathVariable 这三者是spring常见的接受前端数据的注解,那么他们分别是接受什么的前端数据呢? RequestParam:这个注解主要用于处理请求参数,尤其是GET请求中的查询参数和表单参数。它可以用…...
K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...
shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...
多模态图像修复系统:基于深度学习的图片修复实现
多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
C++实现分布式网络通信框架RPC(2)——rpc发布端
有了上篇文章的项目的基本知识的了解,现在我们就开始构建项目。 目录 一、构建工程目录 二、本地服务发布成RPC服务 2.1理解RPC发布 2.2实现 三、Mprpc框架的基础类设计 3.1框架的初始化类 MprpcApplication 代码实现 3.2读取配置文件类 MprpcConfig 代码实现…...
QT开发技术【ffmpeg + QAudioOutput】音乐播放器
一、 介绍 使用ffmpeg 4.2.2 在数字化浪潮席卷全球的当下,音视频内容犹如璀璨繁星,点亮了人们的生活与工作。从短视频平台上令人捧腹的搞笑视频,到在线课堂中知识渊博的专家授课,再到影视平台上扣人心弦的高清大片,音…...
C++--string的模拟实现
一,引言 string的模拟实现是只对string对象中给的主要功能经行模拟实现,其目的是加强对string的底层了解,以便于在以后的学习或者工作中更加熟练的使用string。本文中的代码仅供参考并不唯一。 二,默认成员函数 string主要有三个成员变量,…...
2025年低延迟业务DDoS防护全攻略:高可用架构与实战方案
一、延迟敏感行业面临的DDoS攻击新挑战 2025年,金融交易、实时竞技游戏、工业物联网等低延迟业务成为DDoS攻击的首要目标。攻击呈现三大特征: AI驱动的自适应攻击:攻击流量模拟真实用户行为,差异率低至0.5%,传统规则引…...
