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

计算机网络实验(二):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下的数据包进行分析:

  1. 分析捕获文件http_google.pcap,了解HTTP的浏览过程。
  2. http_post.pcap文件分析,了解HTTP传送数据。

DNS协议分析

对C:\数据包\ppa3ecaptures_updated\ppa3ecaptures下的数据包进行分析:

  1. 分析捕获文件dns_query_response.pcap,对DNS查询过程进行进一步认识;
  2. 分析数据包dns_recursivequery_client.pcap,了解DNS递归过程;
  3. 分析dns_axfr.pcap数据包,了解DNS区域传送过程。

DHCP协议分析

对C:\数据包\ppa3ecaptures_updated\ppa3ecaptures下的数据包进行分析:

  1. 分析dhcp_nolease_initialization.pcapng数据包,对DHCP续租过程进行理解。
  2. 分析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令牌 一、重要的前置概念 在一个系统中,不是所有的功能和资源都能够被自由地访问,比如你存在银行系统里面的资金&#xff0c…...

实例: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(豆子数量) 颗豆子])来打印出当前豆子的数量。 进行豆子的计数操作。例如&#xff0c…...

QT C++中调用python脚本时,import第三方库失败问题解决

QT C中调用python脚本时,import第三方库失败问题解决 文章目录 QT C中调用python脚本时,import第三方库失败问题解决前言一、问题复现二、调试过程三、问题解决1 numpy问题解决2 matplotlib问题解决 四、补充说明五、参考资料 前言 项目需要&#xff0c…...

【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请求中的查询参数和表单参数。它可以用…...

XCTF-web-easyupload

试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...

基于大模型的 UI 自动化系统

基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...

相机从app启动流程

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

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...

Unit 1 深度强化学习简介

Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...

Web 架构之 CDN 加速原理与落地实践

文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 &#xf…...

Python Ovito统计金刚石结构数量

大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...

站群服务器的应用场景都有哪些?

站群服务器主要是为了多个网站的托管和管理所设计的,可以通过集中管理和高效资源的分配,来支持多个独立的网站同时运行,让每一个网站都可以分配到独立的IP地址,避免出现IP关联的风险,用户还可以通过控制面板进行管理功…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...