计算机网络实验(二):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请求中的查询参数和表单参数。它可以用…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...

C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...

相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...

用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...