【计算机网络】WireShark和简单http抓包实验

news2024/12/24 2:08:59

一:实验目的

1:熟悉WireShark的安装流程和界面操作流程。

2:学会简单http的抓取和过滤,并分析导出结果。

二:实验仪器设备及软件

硬件: Windows 2019操作系统的计算机等。

软件:WireShark、记事本等。

三:实验方案

首先打开WireShark软件,进入外网捕获界面,启动捕获。

然后通过浏览器进入http:// gaia.cs.umass.edu这个域名地址,在html页面中进行多次点击和跳转操作。

最后在WireShark中停止捕获,保存捕获到的报文,并以http条件进行筛选,查看所有与http协议有关的报文内容,回答相应的问题。

四:实验步骤

1)  打开浏览器。

2)  打开 WireShark 并且在捕获选项选择合适的网卡。

3)  开始进行抓包操作,并且在浏览器中打开示例网页。

4)  停止抓包并且分析抓包结果。

5)  在过滤器选择 http 过滤,并且查看过滤结果。

五:实验结果及分析

1列出在协议列中出现的 3 种不同的协议。

第1种:HTTP,如下图所示。

第2种:TCP,如下图所示。

第3种:ARP,如下图所示。

2:从发送 HTTP GET 消息到收到 HTTP OK 回复需要多长时间?

发送GET / HTTP/1.1消息到收到HTTP/1.1 200 OK的过程,如下图所示。

由此可知,其时间间隔为159.562172 - 159.335411 = 0.226761秒。

3:gaia.cs.umass.edu(也称为 wwwnet.cs.umass.edu)的互联网地址是什么? 您的计算机的 Internet 地址是什么?

由下图可知,目的IP地址为128.119.245.12,对应gaia.cs.umass.edu的互联网地址。

源IP地址为192.168.0.108,对应本地计算机的互联网地址。

通过ping方式,验证该域名地址,如下图所示。

4:你的浏览器是否运行 HTTP 版本 1.0 或 1.1?服务器运行的是什么版本的HTTP?

由下图可知,在POST报文中,Request Version是1.1,因此浏览器运行HTTP版本1.1。

由下图可知,在回复报文中,Response Version是1.1,因此服务器运行HTTP版本1.1。

5:你的浏览器接收哪些语言?

浏览器接收标记语言HTML。如下图所示,可以看到content-type为html。

浏览器接收数据格式语言JSON。如下图所示,可以看到content-type为json。

浏览器接收标记语言XML。如下图所示,可以看到content-type为xml。

6:从服务器返回到浏览器的状态代码是什么?

    【1】成功状态码。如下图所示,服务器返回到浏览器的状态代码是200 OK,表示请求成功,服务器已成功处理请求。

【2】重定向状态码。如下图所示,服务器返回到浏览器的状态代码是301 Moved Permanently,表示请求的资源已被永久移动到新位置。

【3】客户端错误状态码。如下图所示,服务器返回到浏览器的状态代码是404 Not Found,表示请求的资源在服务器上找不到。

7:在服务器上最后修改的 HTML 文件是什么时候?

由下图可知,Last-Modified是2016年3月1日,表示在服务器上最后修改的 HTML 文件的时间。

8:浏览器返回了多少 bytes 的内容?

由下图可知,浏览器返回了2651字节的内容。

9:是否在 HTTP GET 中看到“IF-MODIFIED-SINCE”行?

是。如下图所示,出现了If-Modified-Since: Tue, 01 Mar 2016 18:57:50 GMT。

在HTTP GET请求中,If-Modified-Since是一种请求头字段,用于告诉服务器只有在请求的资源自指定日期和时间之后已被修改时,才返回该资源。这是浏览器和服务器之间的一种缓存协商机制,用于优化网络带宽和提高加载速度。

10:多个响应HTTP GET,服务器返回的 HTTP 状态代码和短语分别是什么?为什么不同?304 Not Modified什么意思?

多个HTTP GET的返回状态代码和短语,如下图所示。可以看到有200 OK、301 Moved Permanently、404 Not Found。

HTTP状态代码不同是因为它们表示不同类型的响应,反映了服务器对请求资源的处理结果。

304 Not Modified 状态码的含义是服务器告知客户端,请求的资源自上次请求以来没有被修改,因此客户端可以继续使用其缓存的版本,而无需重新下载。

11:对物理层的数据帧进行解析。

一个示例的物理层的数据帧,如下图所示。

可以看到,该数据帧的编号是42544,帧的总长度为486字节(3888比特),实际捕获的帧长度也为486字节(3888比特)。

捕获数据的网络接口的ID为0号,接口名称为\Device\NPF_{60116A39-C338-4C66-A5CF-5BBC6E88B657},接口描述为外网。

数据帧使用以太网封装类型。同时展示了到达时间、UTC到达时间等内容。

此数据包的时间偏移是0秒,与上一个捕获帧之间的时间差是0.00046秒,与上一个显示帧之间的时间差是63.029081秒,自参考帧或第一个帧以来的时间是159.335411秒。

该帧未被标记,且未被忽略。该帧中包含的协议列表,从最低层到最高层依次为:eth以太网、ethertype以太网类型字段、ip互联网协议、tcp传输控制协议、http超文本传输协议。用于该帧的着色规则名称是HTTP。用于该帧的着色规则字符串为http || tcp.port == 80 || http2。http:该帧包含HTTP协议的数据。tcp.port == 80:该帧的TCP端口是80,通常用于HTTP流量。http2:该帧包含HTTP/2协议的数据。

12:启动WireShark,自行设置过滤条件,重做实验一,观察能否抓到数据并进行分析。

能抓到数据,如下图所示。

如下图所示,源地址fe80::cc2a:d980:500d正在与目的地址fe80::dda:3845:7b8f:dbed进行大量的数据传输。在传输较大数据块的过程中,使用分段传输技术(Segmented Transmission)将数据分成多个TCP段,每个段都有一个序列号和确认号。

如下图所示,前面TCP的内容与上图类似。最后一个报文表示从源地址 fe80::dda:3845:7b8f:dbed 到目的地址 fe80::cc2a:d980:500d 的SMB2写入响应报文。SMB2协议通常用于文件共享和网络通信,这个写入响应报文表示文件写入操作已完成。

六:实验总结及体会

1:从服务器返回到浏览器的状态代码(HTTP状态码)用于指示HTTP请求的结果。这些状态代码由三位数字组成,每个数字有特定的含义。

2:常见的状态代码类别如下:

【1】1xx(信息性状态码):

  1. 100 Continue:继续发送请求的剩余部分。
  2. 101 Switching Protocols:服务器将遵从客户的请求转换到另外一种协议。

【2】2xx(成功状态码):

  1. 200 OK:请求成功,服务器已成功处理请求。
  2. 201 Created:请求成功且资源已被创建。
  3. 204 No Content:请求成功,但没有返回内容。

【3】3xx(重定向状态码):

  1. 301 Moved Permanently:请求的资源已被永久移动到新位置。
  2. 302 Found:请求的资源临时从不同的URI响应请求。
  3. 304 Not Modified:资源未被修改,客户端可以继续使用缓存的版本。

【4】4xx(客户端错误状态码):

  1. 400 Bad Request:请求无效或有语法错误。
  2. 401 Unauthorized:请求要求身份验证。
  3. 403 Forbidden:服务器理解请求但拒绝执行。
  4. 404 Not Found:请求的资源在服务器上找不到。

【5】5xx(服务器错误状态码):

  1. 500 Internal Server Error:服务器遇到未预料的情况,无法完成请求。
  2. 501 Not Implemented:服务器不支持请求的功能。
  3. 502 Bad Gateway:服务器作为网关或代理,从上游服务器收到无效响应。
  4. 503 Service Unavailable:服务器暂时无法处理请求,可能是由于过载或维护。

3:Server Hello 是 TLS 握手过程中的一个重要步骤。在这个阶段,服务器向客户端发送一个“Hello”消息,其中包含了服务器选择的加密算法、会话ID、服务器随机数以及服务器的证书等信息。

4:Change Cipher Spec 消息是TLS协议中的一个信号,表明从这条消息之后,双方将使用协商好的加密算法和密钥进行通信。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

智能PDF转markdown

嘿,各位技术大咖们,今天我要给大家带来一个超酷的项目——“智能PDF转Markdown”,这可是数字化办公的神器,基于Marker技术,让PDF文档秒变Markdown,轻松应对RAG知识库构建等任务的挑战! 打造了一…

Python | Leetcode Python题解之第299题猜数字游戏

题目: 题解: class Solution:def getHint(self, secret: str, guess: str) -> str:bulls 0cntS, cntG [0] * 10, [0] * 10for s, g in zip(secret, guess):if s g:bulls 1else:cntS[int(s)] 1cntG[int(g)] 1cows sum(min(s, g) for s, g in z…

学习笔记 韩顺平 零基础30天学会Java(2024.7.22)

P407 接口使用细节2 P407 接口课堂练习 对于最后一个的输出:B因为实现了A的接口,所以和继承一样,B可以访问A的变量 P409 接口VS继承 接口对单继承机制(是指只能继承一个类)进行了补充 也可以理解为,子类通过…

IndexError: list index out of range

IndexError: list index out of range 欢迎来到我的主页,我是博主英杰,211科班出身,就职于医疗科技公司,热衷分享知识,武汉城市开发者社区主理人 擅长.net、C、python开发, 如果遇到技术问题,即…

锅总介绍CNCF主要目标、全景图及发展历史

一、CNCF简介 云原生计算基金会(Cloud Native Computing Foundation,简称 CNCF)是一个成立于 2015 年的非营利性组织,隶属于 Linux 基金会。CNCF 的主要目标是通过开源软件推动云原生计算技术的发展和普及,帮助企业更…

【C语言篇】C语言数据类型和变量

文章目录 C语言数据类型和变量1. 数据类型介绍1.1 字符型1.2 整形1.3 浮点型1.4 布尔类型1.5 各种类型数据长度1.5.1 sizeof操作符1.5.2 数据类型长度1.5.3 sizeof表达式不计算 2. signed和unsigned3. 数据类型的取值范围4. 变量4.1变量的创建4.2 变量的分类 5.强制类型转换 C语…

Redis:快速键值存储的入门指南

一、什么是Redis? Redis,全称为Remote Dictionary Server,是一种开源的、高性能的键值(Key-Value)存储系统。与传统的关系型数据库不同,Redis将数据主要存储在内存中,因此能够提供极低延迟的数…

网络传输层——UDP与TCP

前言: 1.国际网络体系结构: OSI模型: open system interconnect 理论模型 1977 国际标准化组织 各种不同体系结构的计算机能在世界范围内互联成网。 应用层:要传输的数据信息,如文件传输,电子邮件等…

【C语言】宏定义常量加 ; 的错误

我在使用宏定义常量定义二维数组的时候,编译器报错:应输入“]”,如下: 原因是宏定义不是C语言规定的语句,它的结尾不加 ; 。在上图的 int mine[EASY_ROWS][EASY_COLS]; 中,把 EASY_ROWS 替换为了 9;2; &…

Typora 以 Github 作为图床使用 PicGo 上传图片

本文简练快速介绍如标题所述的操作流程 文章目录 1.前言1.1 图床简述1.2 Github图床的优缺点1.2.1 优点1.2.2 缺点 2.下载PicGo3.Github访问加速4.用github创建图床服务器4.1 注册4.2 创建仓库 4.3 生成TOKEN令牌5.设置PicGo6.设置Typora7.完成 1.前言 1.1 图床简述 图床&…

车载音频记录

一、车载音频总线 2.8车载音频总线A2B Automotive Audio Bus_a2b总线-CSDN博客 传统的车载音频接口采用的是点对点模式,车身数字音频总线采用环型或者菊花链型总线。 A2B:Automotive Audio Bus 支持串联拓扑,即单个主机最多连接10个…

RedHat8安装Oracle19C

RedHat8安装Oracle19C 1、 更新yum源 更新yum源为阿里云镜像源: # 进入源目录 cd /etc/yum.repos.d/ # 删除 redhat 默认源 rm redhat.repo # 下载阿里云的centos7源 curl -O http://mirrors.aliyun.com/repo/Centos-8.repo # 替换 Centos-8.repo 中的 $releasev…

机器学习(二十二):精度和召回率

一、倾斜数据集 倾斜数据集:一个数据集中的正面和负面例子的比例非常不平衡,比如数据集中,结果为1的占比20%,结果为0的占比80% 例子:如果数据集的结果中只有0.5%是1,其余结果是0。有一个模型的预测准确度…

24.7.17数据结构|顺序表

目录 大O的工程意义? 线性表 引入: 主要掌握【代码实现】: 一、线性结构 1、逻辑描述 2、顺序表 1、如何定义结构 1)静态顺序表 1)动态顺序表 2、写代码 (1)【clion创建工程】 ​编…

Unity横板动作游戏 - 素材导入和整理

导入素材 编辑器布局 点击每个窗口右上角的三个点可以有更多的窗口选项。 在屏幕的右上角有一个菜单可以保存布局或读取已经报错的布局。 工具按钮 编辑器上的工具按钮在启动的时候是蓝色的,在不启动的时候是灰色的。 这个按钮将会决定场景中的物体是以锚点显示还…

大模型算法面试题(十三)

本系列收纳各种大模型面试题及答案。 1、微调后的模型出现能力劣化,灾难性遗忘是怎么回事 微调后的模型出现能力劣化,灾难性遗忘(Catastrophic Forgetting)是一个在机器学习领域,尤其是在深度学习和大模型应用中频繁出…

麒麟系统信创改造

麒麟系统信创改造 一、查看操作系统架构下载相应的依赖,压缩包1、查看Linux系统架构、CPU(1)uname -m(2)lscpu(3)cat /proc/cpuinfo(4)arch(5)getconf LONG_BIT(6)dmidecode2、根据Linux系统架构、CPU的差异进行下载相关依赖,看第二项二、以下是根据本系统的aarc…

Golang | Leetcode Golang题解之第297题二叉树的序列化与反序列化

题目: 题解: type Codec struct{}func Constructor() (_ Codec) {return }func (c Codec) serialize(root *TreeNode) string {if root nil {return "X"}left : "(" c.serialize(root.Left) ")"right : "("…

WordPress插件介绍页源码单页Html

源码介绍 WordPress插件介绍页源码单页Html源码,这是一款产品介绍使用页面,也可以用来做其他软件或者应用介绍下载页,界面简约美观,源码由HTMLCSSJS组成,双击html文件可以本地运行效果,也可以上传到服务器…

理解文件系统(上)

模拟实现文件库 创建文件以便理解 自己想实现的文件接口,进行模拟实现 模拟的头文件要准备的头文件 open接口的实现 write接口的实现fflush接口的实现 flose接口的实现 文件实现 stdio.h stdio.c test.c makefile 创建makefile 编译运行 执行后输出log.txt,看…