HNU-计算机网络-实验3-应用层和传输层协议分析(PacketTracer)

计算机网络 课程基础实验三
应用层和传输层协议分析(PacketTracer)

计科210X 甘晴void 202108010XXX
在这里插入图片描述
【给助教的验收建议】
如果是助教,比起听同学读报告,更好的验收方式是随机抽取一个场景(URL/HTTPS/FTP),直接让同学现场做并讲解原理,并对流程中的一些操作或参数直接提问。

文章目录

  • 计算机网络 课程基础实验三<br>应用层和传输层协议分析(PacketTracer)
    • 一、实验目的
    • 二、实验内容
      • 初识PacketTracer
      • 【任务 1】从 PC 使用 URL 捕获 Web 请求
        • ①模拟构建终端与连线并进行设置
        • ②步骤 2. 研究捕获的通信。
      • 【任务 2】从 PC 访问服务器的HTTPS服务,捕获数据包并分析
        • (1)使用HTTP协议访问Web页面
        • (2)使用HTTPS协议访问Web页面
      • 【任务3】从 PC 访问服务器的FTP服务,捕获数据包并分析
        • (0)使用命令行登录ftp
        • (1)测试写操作
        • (2)测试读操作
        • (3)获取文件列表
        • (4)重命名
        • (5)删除
        • (6)退出
        • 延申:STP是什么?
    • 三、实验感悟

一、实验目的

通过本实验,熟悉PacketTracer的使用,学习在PacketTracer中仿真分析应用层和传输层协议,进一步加深对协议工作过程的理解。

二、实验内容

研究应用层和传输层协议
从 PC 使用 URL 捕获 Web 请求,运行模拟并捕获通信,研究捕获的通信。
Wireshark 可以捕获和显示通过网络接口进出其所在 PC 的所有网络通信。Packet Tracer 的模拟模式可以捕获流经整个网络的所有网络通信,但支持的协议数量有限。我们将使用一台 PC 直接连接到 Web 服务器网络,并捕获使用 URL 的网页请求。

初识PacketTracer

PacketTracer是一款模拟仿真网络设备以及它们联系的工具,并且它还能允许你抓包查看数据包的流动以及协议的具体工作方式。这是一个非常有用的工具,很值得掌握。

简单入门PacketTracer:

简单入门PacketTracer

简单来说,在左边的画板上你可以按照自己的想法随意搭建网络(包括设备和连线),组建在左下角,自己稍微探索一下就可以掌握。

对于每一个你放入的网络组件,单机它就可以打开它,你此时就相当于在这个网络组件上操作。例如,打开一个PC时你就相当于现在在PC上操作,可以设置这个PC的IP地址,DNS服务器,网关,子网掩码等,也可以使用这个PC的命令行和浏览器。再如,打开一个服务器时你就相当于现在是服务器管理员,可以配置服务器的ip地址,配置服务器的服务(DNS,HTTP,FTP,DHCP)等。

这很灵活,相当于模拟了一整个网络的运行,挺好玩的。

如果仔细探索,你会爱上这款工具的。

【任务 1】从 PC 使用 URL 捕获 Web 请求

①模拟构建终端与连线并进行设置

在最左下角可以找到相应的组建,红色的闪电符号为wire(连线)

在这里插入图片描述

新建一个PacketTracer文件,在“终端 ”中选择一台电脑和一个服务器,使用交叉线连接(工具栏里面的黑色虚线),实验拓扑图如下,连线选择FastEthernet而不是RS232出现绿点,说明连接成功。

在这里插入图片描述

对PC机进行IP配置( 双击PC0图标,上栏中选择Desktop,选择IP Configuration打开)

配置为静态IP192.168.1.1,并将DNS服务器IP地址配置为192.168.1.2。

在这里插入图片描述

对服务器进行IP配置( 双击Server0图标,上栏中选择Desktop,选择IP Configuration打开)

将IP配置为192.168.1.2,

在这里插入图片描述

并打开DNS服务,添加一个域名解析:

在这里插入图片描述

另外需要确保DHCP处于关闭状态

在这里插入图片描述

【DHCP】

动态主机配置协议是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。

这里我们是自己指定IP的,故不需要使用DHCP获得IP,将它控制在关闭状态。

②模拟运行

服务器的HTTP服务是默认打开的。PC机的DNS服务器设置为了192.168.1.2,当PC机对设置了域名解析的www.wolfvoid.com进行访问时,首先会发送DNS请求报文给该服务器,由该服务器进行DNS解析并返回IP地址192.168.1.2,然后PC机再向服务器发起HTTP请求。

切换到仿真模式,在PC机的浏览器中访问该域名,在事件窗口可以看到两个数据包。

在这里插入图片描述

让其运行全过程,在EventList中可以看到具体的数据包过程。

在这里插入图片描述

在上述数据包传递(获取部分之后就可以),可以发现PC0端的浏览器成功访问了该网址。

在这里插入图片描述

②步骤 2. 研究捕获的通信。

名词解释:

  • PDU(Protocol Data Unit),协议数据单元是指对等层次之间传递的数据单位。 协议数据单元(Protocol Data Unit )物理层的 PDU是数据位(bit),数据链路层的 PDU是数据帧(frame),网络层的PDU是数据包(packet),传输层的 PDU是数据段(segment),其他更高层次的PDU是报文(message)。
  • **OSI,开放系统互联(Open System Interconnection)**该模型定义了不同计算机互联的标准,是设计和描述计算机网络通信的基本框架。OSI模型把网络通信的工作分为7层,自底向上分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

在 Event List中点开数据包,然后单击 Info列中的彩色正方形,会打开 PDU Information(PDU 信息)窗口。此窗口将按 OSI 模型组织。

例如,在我们查看的第一个数据包中,注意 DNS 查询(第 7 层)封装在第 4 层的 UDP 数据段中,等等。如果单击这些层,将会显示设备(本例中为 PC)使用的算法。查看每一层发生的事件。

在这里插入图片描述

查看第一个DNS数据包的PDU信息,可以在应用层看到这是一个DNS请求,在PDU详情中可以看到DNS请求的具体域名为www.wolfvoid.com

在这里插入图片描述

在这个对Web的访问请求中,数据包的协议类型有DNS,ARP,TCP,HTTP。可以查看每个数据包的PDU信息,PDU信息按照OSI参考模型组织,可以看到每一层的事件,也可以查看PDU的详细信息,在详细信息中,数据按照不同层次的协议组织。

我们也可以看看别的协议的OSI模型封装情况。

比如这是 ARP协议的PDU

在这里插入图片描述

比如这是HTTP协议的情况。HTTP协议是应用层协议,在第7层上。

在这里插入图片描述

接下来我们可以结合所学知识研究一下全过程:

在这里插入图片描述

其中,显示没有上一个设备的数据包是在设备端产生但未发送到的。其中HTTP请求是非持续连接,只发送了一个文件。还可以注意到断开连接时,服务器的FIN-ACK和FIN报文段合并了,因此只通过三个数据包就断开了连接。

【任务 2】从 PC 访问服务器的HTTPS服务,捕获数据包并分析

★★★请注意,任务2和任务3需要使用提供的文件完成,使用自己的文件是无法完成的(因为有些页面的组件我们自己建的文件里是没有的)。★★★

打开提供的文件,模型已经为我们构建好了,具体的要求也提好了。照做即可。

在这里插入图片描述

(1)使用HTTP协议访问Web页面

使用与任务一相同的方式,访问http://10.1.1.3

下面是访问的事件列表。
在这里插入图片描述

访问过程中,先出现两段文字,再先后出现两张图片的缩略图。这说明是在请求后获取这些网页的组件。

在这里插入图片描述

下面我们主要关注有效的HTTP报文(有效是指有源有目的端)

①获取索引页

首先关注到开始,客户端使用Get方法,试图从服务端获得资源。这里是第一个HTTP请求,推测这里想要获取的应该是那两段文字和这JPG和GIF图片的地址,因为下面马上就要尝试获取这两个了。

在这里插入图片描述

②分别获取两个较大的资源

使用Get方法尝试向服务器获取logo.gif

服务器返回无法找到该资源(提供文件的时候估计只给了链接,没给真正的资源)

在这里插入图片描述

使用Get方法尝试向服务器获取image.jpg
在这里插入图片描述

服务器同样没有找到。

在这里插入图片描述

总结这个过程,红框框出部分为HTTP协议的部分。

在这里插入图片描述

(右下角的时间远离足够远,此时传输已经结束很久了,保证不会遗漏)

(2)使用HTTPS协议访问Web页面

使用相同的方式,访问https://10.1.1.3

由于只是访问的方式不同而已,访问的资源是同一个,所以访问的结果是一样的。
在这里插入图片描述

这次发现有效的HTTPS协议只有一次,而之前的HTTPS协议有三次。

在这里插入图片描述

我们可以查看这次通信的内容如下:

(因为只有一次,所以直接查看来回)

在这里插入图片描述
在这里插入图片描述

我们发现无法查看https协议的内容。这样的原因是,http是超文本传输协议,信息通过明文传输,https则是具有安全性的ssl加密传输协议。因此总体来说,https更加安全。

对于Https,Packet Tracer并不实际加密和解密数据。数据包内容只是隐藏在PDU信息上,(可以理解,只是一个模拟器,让用户看知道不出来就可以了,没有必要真的去加密)

【任务3】从 PC 访问服务器的FTP服务,捕获数据包并分析

★★★请注意,任务2和任务3需要使用提供的文件完成,使用自己的文件是无法完成的(因为有些页面的组件我们自己建的文件里是没有的)。★★★

打开提供的文件,模型已经为我们构建好了,具体的要求也提好了。照做即可。

这是一个简单的FTP模型,有两个终端PC,一个交换机和一个路由器,最后连接到服务器上。

其中服务器提供FTP服务,支持文件的命名,删除,读写等操作;PC运行FTP客户端,访问服务器提供的FTP服务。

在这里插入图片描述

(0)使用命令行登录ftp
  1. 从PC0的Command Prompt输入“ftp www.ftpserver.com”连接服务器。
  2. 输入用户名:cisco,密码:cisco,进入FTP prompt界面。

使用命令行在PC0客户端登录ftp服务器,出现以下界面表示成功登录。

在这里插入图片描述

(1)测试写操作

使用put sampleFile.txt将文件上传到服务器。

在这里插入图片描述

此时打开服务端的ftp服务可以发现该文加已经被写入

在这里插入图片描述

分析数据包:

输入“FTP wwwftpserver.com”之后,服务器会提示需要输入用户名,此时会返回一个欢迎用户的信息,如图,是四个连续的FTP,路径为:Server——Router——Switch——PC。所以之后看到的信息或者命令的传递都会有3条,依次是从PC到Router到Switch再到PC,或者是返回来的路径。

在这里插入图片描述

此时点开这些数据包,发现都是同一条信息,即服务端向客户端发送的欢迎信息。

在这里插入图片描述

之后的写与读操作,都需要连接。

在这里插入图片描述

在这种情况下,服务器发送的响应表明数据连接已经建立,客户端可以开始在该连接上发送或接收数据。这通常是在进行文件传输时显示的消息。

这表示文件开始传输了。

(2)测试读操作

使用命令get sampleFile.txt可从服务端读取文件

在这里插入图片描述

截取到的由PC0向服务端传递请求读的申请。

在这里插入图片描述

(3)获取文件列表

使用dir可以从服务器读取所有文件列表,包括刚刚上传的sampleFilesampleFile.txt。

在这里插入图片描述

(4)重命名

使用rename,将sampleFile.txt文件重命名为:1.txt。

此时,再使用dir查看文件目录,可以发现文件名已经被更改。

在这里插入图片描述

(5)删除

使用delete,将刚刚的文件删除。

再次使用dir查看,发现该文件已经被删除。

在这里插入图片描述

(6)退出

使用quit退出。
在这里插入图片描述

数据包分析:

可以发现PC0很快地将这个退出指令向服务端Server传递。

在这里插入图片描述

然后服务端Server回传信息,表示同意断开。

在这里插入图片描述

延申:STP是什么?

我们发现在FTP中有一个STP在空闲的时候或者不空闲的时候一直在广播。即使在PC0明确表示退出连接之后。那么STP是什么?

在这里插入图片描述

为了提高网络可靠性,交换网络中通常会使用冗余链路。然而,冗余链路会给交换网络带来环路风险,并导致广播风暴以及MAC地址表不稳定等问题,进而会影响到用户的通信质量。生成树协议STP(Spanning Tree Protocol)可以在提高可靠性的同时又能避免环路带来的各种问题。

STP的作用

  • Stp通过阻塞端口来消除环路,并能够实现链路备份目的
  • 消除了广播风暴
  • 物理链路冗余,网络变成了层次化结构的网络

STP操作

  1. 选举一个根桥
  2. 每个非根交换机选举一个根端口
  3. 每个网段选举一个指定端口
  4. 阻塞非根,非指定端口

三、实验感悟

总结来说,这次实验让我初步认识PacketTracer这个工具的使用,并且能够使用这个工具自己搭建小型的客户端-服务器模型并进行访问,同时能够使用仿真功能进行抓包并研究数据包的结构与内容。

在一步一步地学习过程中,我发现PacketTracer这个工具不仅仅是一个学生学习用的工具,在实际应用中,企业也会使用或是使用类似的工具,在正式网络上线运营之前先做一个模拟仿真,这能很好地降低试错成本。所以这个工具是有很大的实际意义的。

另外,在使用PacketTracer进行复现DNS,HTTP,HTTPS,FTP等协议的过程,我对于这些协议以及它们是如何工作的,有了更为深入的了解,感觉更加具象化了。而且我还可以对网络做出改变再看看它的变化,比书上无法改变的那种案例要好得多。

感觉PacketTracer真的是一个很好的学习工具。

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

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

相关文章

Linux线程的设计

文章目录 一.理解Linux线程的本质进程地址空间是进程访问系统资源的窗口Linux系统中,线程是比进程更轻量级的执行流 二.Linux线程独立运行的原理三.基础线程控制 一.理解Linux线程的本质 进程地址空间是进程访问系统资源的窗口 Linux系统中,线程是比进程更轻量级的执行流 线程…

Mac 中文版 Navicat Premium 16 下载安装详细教程

哈喽朋友们大家好&#xff0c;今天做一期 Mac 数据库连接工具 Navicat Premium 16 的安装教程&#xff0c;很多朋友不知道怎么安装的&#xff0c;要不就是有试用期无法正常使用&#xff0c;要不就是英文的&#xff0c;改不了中文&#xff0c;大家可以跟着我的步骤安装&#xff…

RabbitMQ插件详解:rabbitmq_message_timestamp【Rabbitmq 五】

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 RabbitMQ时空之旅&#xff1a;rabbitmq_message_timestamp的奇妙世界 前言什么是rabbitmq_message_timestamprabbitmq_message_timestamp 的定义与作用&#xff1a;如何在 RabbitMQ 中启用消息时间戳&…

视觉检测系统在半导体行业的应用

一、半导体产业链概述 半导体产业链是现代电子工业的核心组成部分&#xff0c;涵盖了从原材料到最终产品的整个生产过程。这个产业链主要分为以下几个环节&#xff1a; 1.原材料供应&#xff1a;半导体行业的基石是半导体材料&#xff0c;如硅片、化合物半导体等。这些材料需要…

挑战52天学小猪佩奇笔记--day24

52天学完小猪佩奇--day24 ​【本文说明】 本文内容来源于对B站UP 脑洞部长 的系列视频 挑战52天背完小猪佩奇----day24 的视频内容总结&#xff0c;方便复习。强烈建议大家去关注一波UP&#xff0c;配合UP视频学习。 注&#xff1a;这集开始变成一段一段的猜台词&#xff0c;加…

python学习,1.变量和简单的数据类型

一、编写文章的目的 1.这是为了初学者而写的&#xff0c;学习python比较简单然后上手&#xff0c;也会过滤一些&#xff0c;如果没有提起到的&#xff0c;可以在学习的时候进行补充 2.相对来说&#xff0c;上手难度不会很难。 二、内容 1.让首字母大写&#xff1b;字母都大写…

STM32F103C8T6—烧录程序

STM32F103C8T6烧录程序方法 1. ST-Link烧录程序ST-Link软件下载ST-Link软件安装程序下载 2. 串口烧录程序CH340驱动下载安装连接程序下载 1. ST-Link烧录程序 该USB驱动程序(STSW-LINK009)适用于ST-LINK/V2, ST-LINK/V2-1和STLINK-V3板及其衍生物 首先下载ST-link驱动&#xf…

华为配置基本QinQ示例

组网需求 如图1所示&#xff0c;网络中有两个企业&#xff0c;企业1有两个分支&#xff0c;企业2有两个分支。这两个企业的各办公地的企业网都分别和运营商网络中的SwitchA和SwitchB相连&#xff0c;且公网中存在其它厂商设备&#xff0c;其外层VLAN Tag的TPID值为0x9100。 现…

解读unity内置的软阴影处理方式

解读unity内置的软阴影处理方式&#xff1a; 参考网址&#xff1a; https://blog.csdn.net/cgy56191948/article/details/105726682 https://blog.csdn.net/weixin_45776473/article/details/119582218 https://tajourney.games/5482/ 上面的博客已经论述了&#xff0c;为何出现…

5个免费、跨平台的SQLite数据库可视化工具

前言 SQLite是一个轻量级的嵌入式关系型数据库&#xff0c;目前最新的版本是 SQLite3。今天推荐5个实用的SQLite数据库可视化工具(GUI)&#xff0c;帮助大家更好的管理SQLite数据库。 什么是SQLite&#xff1f; SQLite是一个轻量级的嵌入式关系型数据库&#xff0c;它以一个…

风速预测(五)基于Pytorch的EMD-CNN-LSTM模型

目录 前言 1 风速数据EMD分解与可视化 1.1 导入数据 1.2 EMD分解 2 数据集制作与预处理 2.1 先划分数据集&#xff0c;按照8&#xff1a;2划分训练集和测试集 2.2 设置滑动窗口大小为96&#xff0c;制作数据集 3 基于Pytorch的EMD-CNN-LSTM模型预测 3.1 数据加载&…

C++软件调试与异常排查技术从入门到精通学习路线分享

目录 1、概述 2、全面了解引发C软件异常的常见原因 3、熟练掌握排查C软件异常的常见手段与方法 3.1、IDE调试 3.2、添加打印日志 3.3、分块注释代码 3.4、数据断点 3.5、历史版本比对法 3.6、Windbg静态分析与动态调试 3.7、使用IDA查看汇编代码 3.8、使用常用工具分…

2023年度佳作:AIGC、AGI、GhatGPT、人工智能大语言模型的崛起与挑战

目录 前言 01 《ChatGPT 驱动软件开发》 内容简介 02 《ChatGPT原理与实战》 内容简介 03 《神经网络与深度学习》 04 《AIGC重塑教育》 内容简介 05 《通用人工智能》 目  录 前言 2023年是人工智能大语言模型大爆发的一年&#xff0c;一些概念和英文缩写也在这一…

2020年第九届数学建模国际赛小美赛D题石头剪刀游戏与合作解题全过程文档及程序

2020年第九届数学建模国际赛小美赛 D题 石头剪刀游戏与合作 原题再现&#xff1a; 小时候你可能至少玩过几次石头剪刀游戏。在这个游戏中&#xff0c;你几乎有三个选择&#xff0c;每一个都有一个项目要打败&#xff0c;一个项目输给。石头打败剪刀&#xff0c;剪刀剪纸和布覆…

windows电脑半夜突然睡眠自动唤醒的问题查找与治理

遇见几次了&#xff0c;半夜起来上厕所&#xff0c;发现休眠的电脑居然自己开了&#xff0c;还得跑过去把电脑再休眠&#xff0c;很烦。昨天晚上居然自动唤醒两次&#xff0c;忍无可忍了&#xff0c;于是开始查找原因。 查询原因如下&#xff0c;解决方面也在后面。 固件 S3 计…

网络(九)三层路由、DHCP以及VRRP协议介绍

目录 一、三层路由 1. 定义 2. 交换原理 3. 操作演示 3.1 图示 3.2 LSW1新建vlan10、20、30&#xff0c;分别对应123接口均为access类型&#xff0c;接口4为trunkl类型&#xff0c;允许所有vlan通过 3.3 LSW2新建vlan10、20、30&#xff0c;配置接口1为trunk类型&…

一天吃透MySQL面试八股文

目录 事务的四大特性&#xff1f;数据库的三大范式事务隔离级别有哪些&#xff1f;生产环境数据库一般用的什么隔离级别呢&#xff1f;编码和字符集的关系utf8和utf8mb4的区别什么是索引&#xff1f;索引的优缺点&#xff1f;索引的作用&#xff1f;什么情况下需要建索引&…

Python 全栈体系【四阶】(六)

第四章 机器学习 五、线性模型 1. 概述 线性模型是自然界最简单的模型之一&#xff0c;它描述了一个&#xff08;或多个&#xff09;自变量对另一个因变量的影响是呈简单的比例、线性关系。例如&#xff1a; 住房每平米单价为 1 万元&#xff0c;100 平米住房价格为 100 万…

Python计算圆的面积,几何学技法大解析!

更多Python学习内容&#xff1a;ipengtao.com 大家好&#xff0c;我是彭涛&#xff0c;今天为大家分享 Python计算圆的面积&#xff0c;几何学技法大解析&#xff0c;全文3800字&#xff0c;阅读大约15分钟。 在本文中&#xff0c;将深入探讨如何使用 Python 计算圆的面积&…

数字化转型导师坚鹏:中国工商银行人工智能与金融数字化转型培训

中国工商银行打造D-ICBC数字化转型战略&#xff0c;围绕“数字生态、数字资产、数字技术、数字基建、数字基因”五维布局&#xff0c;深入推进数字化转型&#xff0c;加快形成体系化、生态化实施路径&#xff0c;促进科技与业务加速融合&#xff0c;以“数字工行”建设推动“GB…