hnu计网实验三-应用层和传输层协议分析(PacketTracer)

news2024/10/2 1:25:14

前言:难度适中的一个实验

一、实验目的

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

二、实验内容

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

任务 1:从 PC 使用 URL 捕获 Web 请求。
步骤 1. 运行模拟并捕获通信。 进入 Simulation(模拟)模式。单击 PC。在 Desktop(桌面)上打开 Web Browser(Web 浏览器)。在浏览器中访问服务器的web服务(服务器的IP地址请自己设置)。单击 Go(转到)将会发出 Web 服务器请求。最小化 Web 客户端配置窗口。Event List(事件列表)中将会显示两个数据包:将 URL 解析为服务器 IP 地址所需的 DNS 请求,以及将服务器 IP 地址解析为其硬件 MAC 地址所需的 ARP 请求。
单击 Auto Capture/Play(自动捕获/播放)按钮以运行模拟和捕获事件。收到 “No More Events”(没有更多事件)消息时单击 OK(确定)。
步骤 2. 研究捕获的通信。 在 Event List(事件列表)中找到第一个数据包,然后单击 Info(信息)列中的彩色正方形。单击事件列表中数据包的 Info(信息)正方形时,将会打开 PDU Information(PDU 信息)窗口。此窗口将按 OSI 模型组织。在我们查看的第一个数据包中,注意 DNS 查询(第 7 层)封装在第 4 层的 UDP 数据段中,等等。如果单击这些层,将会显示设备(本例中为 PC)使用的算法。查看每一层发生的事件。
打开 PDU Information(PDU 信息)窗口时,默认显示 OSI Model(OSI 模型)视图。此时单击 Outbound PDU Details(出站 PDU 详细数据)选项卡。向下滚动到此窗口的底部,您将会看到 DNS 查询在 UDP 数据段中封装成数据,并且封装于 IP 数据包中。
查看 PDU 信息,了解交换中的其余事件。
在这里插入图片描述
图3.1捕获 Web 请求
任务 2:从 PC 访问服务器的HTTPS服务,捕获数据包并分析。
任务3:从 PC 访问服务器的FTP服务,捕获数据包并分析。

三、实验过程

任务一:研究运输层协议并模拟

1)下载并安装PacketTracer53_setup.exe,新建拓扑图如下:

在这里插入图片描述
2)设置PC的IP配置
在这里插入图片描述
3)设置Server的IP 配置
在这里插入图片描述
4)配置DHCP
将Service设置为OFF,使用静态分配IP

在这里插入图片描述
5)配置DNS
增加解析域名www.example.com,填入Name中,设置IP为192.168.1.2

在这里插入图片描述

6)用交叉线连接主机与服务器
在左下角中,点击闪电图标,出现多种连接线,点击虚线:

在这里插入图片描述
选择虚线(交叉线),然后点PC,出现两个选项,点击FastEthemet,再把线拖到server上,同样选择FastEthemet。连接后效果如下:

在这里插入图片描述

7)打开模拟模式
点击右下角的simulation,切换模式。点击Play Controls中的Auto Capture/Play

在这里插入图片描述
8)单击主机,进入web browser,输入url,即http://www.example.com,点击go,发出 Web 服务器请求。

在这里插入图片描述

9)Event List 显示出刚抓的DNS包
Event List(事件列表)中将会显示两个数据包:

  • 将 URL 解析为服务器 IP 地址所需的 DNS 请求
  • 将服务器 IP 地址解析为其硬件 MAC 地址所需的 ARP 请求

在这里插入图片描述
单击 Auto Capture/Play(自动捕获/播放)按钮自动模拟和捕获事件。在拓扑图中可以动态看到web请求的模拟过程(点击show all可以重新展示整个过程)

在这里插入图片描述

10)点击第一个DNS数据包的右边正方形,查看PDU信息
打开 PDU Information(PDU 信息)窗口时,默认显示 OSI Model(OSI 模型)视图。此时单击 Outbound PDU Details(出站 PDU 详细数据)选项卡。向下滚动到此窗口的底部,您将会看到 DNS 查询在 UDP 数据段中封装成数据,并且封装于 IP 数据包中。
DNS 查询(第 7 层)封装在第 4 层的 UDP 数据段中。如果单击这些层,将会显示设备(本例中为 PC)使用的算法。

在这里插入图片描述
从上图中可以得知,DNS是建立在UDP的基础上的,与书上描述的一致。并且Destination指向的是之前自己设置的static server IP address。
单击 Outbound PDU Details(PDU 详细数据)选项卡。向下滚动到此窗口的底部,将会看到 DNS 查询在 UDP 数据段中封装成数据,并且封装于 IP 数据包中。查看 PDU 信息,了解交换中的其余事件。DNS QUERY可以看到请求的URL。

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

点击第二个DNS,可以看到返回了IP地址192.168.1.2

在这里插入图片描述

11)对DNS协议的分析
首先根据www.example.com的URL地址,然后查询到了IP地址为192.168.1.1的目的地址,将 URL 解析为服务器 IP 地址所需的 DNS 请求,以及将服务器 IP 地址解析为其硬件 MAC 地址所需的 ARP 请求。

在这里插入图片描述

任务二:从 PC 访问服务器的HTTPS服务,捕获数据包并分析。

文档中已经给定了实验的文件,打开,捕获数据包进行分析。
1)打开实验pkt文件
在这里插入图片描述
2)进入simulation模式,使用auto capture捕获数据包,在PC访问http://10.1.1.3

在这里插入图片描述

3)在Event List中找到HTTP请求,查看PDU信息:可以看到第一个HTTP请求,请求的是默认的索引页。

在这里插入图片描述
再打开一个HTTP请求:可以看到请求的对象是一个图片。
在这里插入图片描述

查看应答报文

在这里插入图片描述

以上两个HTTP请求,请求的方式都是GET,请求的对象不一样,但结果都是请求成功。

4)重新访问URL为https://10.1.1.3 的IP地址
点击第一个HTTPS请求,查看其PDU信息:

在这里插入图片描述

可以看到HTTPS的内容是不可看的。原因是HTTPS有如下特点:
1.内容加密:采用混合加密技术,中间者无法直接查看明文内容
2.验证身份:通过证书认证客户端访问的是自己的服务器
3.保护数据完整性:防止传输的内容被中间人冒充或者篡改

总结:HTTP是超文本传输协议,信息通过明文传输,HTTPS则是具有安全性的ssl加密传输协议。因此总体来说,HTTPS更加安全。

任务三:从 PC 访问服务器的FTP服务,捕获数据包并分析。

1)打开实验pkt文件
在这里插入图片描述

2)查看注释的实验要求
通过PC0测试FTP的写、读、查看删除文件列表、重命名、删除、退出。
在这里插入图片描述

1.写操作
1)按照指导,点击PC0,打开command prompt。
2)首先连接FTP服务器,输入:ftp www.ftpserver.com。
3)然后输入用户名:cisco,密码:cisco,进入FTP prompt界面 。
在这里插入图片描述
4)把文件上传到服务器:put sampleFile.txt
在这里插入图片描述

5)通过dir命令可以列出目前server的文件列表,可以看到此时已经上传。
在这里插入图片描述

2.读操作
读取一个文件内容:ftp> get sampleFile.txt
在这里插入图片描述

3.获取文件列表
在command prompt里面输入 dir,可以看到服务器中所有文件的文件列表,包括刚刚上传的sampleFile.txt

4.重命名
在FTP prompt输入:rename sampleFile.txt test.txt,将sampleFile.txt文件重命名为:test.txt。此时,再输入dir查看文件目录,可以发现更改后的文件。

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

5.删除
测试删除功能 ,在FTP prompt输入:delete test.txt
在这里插入图片描述

显示删除成功。

6.退出FTP
输入quit退出ftp

在这里插入图片描述

成功退出FTP,回到PC界面。

7.分析FTP数据包
在我们输入“FTP www.ftpserver.com”之后,服务器会提示需要输入用户名,此时会返回一个欢迎用户的信息,如图,是四个连续的FTP,
路径为:Server0—>Router0—>Switch0—>PC0。

在这里插入图片描述
所以完整一次传输过程包含四个FTP。
查看里面的内容,发现四个FTP内容是一样的,均为这一条欢迎用户的信息:

在这里插入图片描述

在这之后,命令提示符里面提示要输入用户名,输入“cisco”,又可以观察到连续的四个FTP,路径为PC0—>Switch0—>Router0—>Server0。

在这里插入图片描述

查看里面的内容,发现也是一样的,均为这一条信息,将用户输入的用户名传送给服务器,之后服务器则会继续传回给PC,提示用户需要输入密码:
在这里插入图片描述

连接并登陆FTP服务器的整个过程如下:
1.首先PC0输入ftp www.ftpserver.com发起连接;收到服务器回复后;
2.紧接着输入账号:PC0发出一个包含账号的FTP数据包
3.然后服务器收到后,发出一个账号已收到,需要密码的ftp包
4.收到后,PC0再发出包含密码的FTP数据包
5.服务器回复包含登陆成功的FTP数据包

第一次FTP请求:

在这里插入图片描述

第一次FTP响应:
在这里插入图片描述

第二次FTP请求:

在这里插入图片描述
第二次FTP响应:
在这里插入图片描述

第三次FTP请求:
在这里插入图片描述

第三次FTP响应:
在这里插入图片描述

即:我们得到了FTP传输的路径情况。在该实验的拓扑图下,从客户机到服务器传输为PC——Switch——Router——Server;从服务器到客户机应答为Server——Router——Switch——PC,且均为连续的四个FTP包。其余过程包括FTP文件传输等等过程类似。
在这里插入图片描述

四、实验总结

通过PacktTracer工具对应用层和传输层协议进行分析,学会简单的使用该工具分析web请求、HTTP请求和FTP请求,对于应用层和传输层的几个协议理解更加深刻了。

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

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

相关文章

多道程序与分时多任务--rCore[3]

概念 协作式操作系统 计算机硬件在快速发展,内存容量在逐渐增大,处理器的速度也在增加,外设 I/O 性能方面的进展不大。于是就想到,让应用在执行 I/O 操作或空闲时,可以主动 释放处理器 ,让其他应用继续执行…

Linux- 系统随你玩之--grep查找文件内容

1、前言 我们在使用过程中经常需要对当前获取的文件进行过滤、提取和分析,以便快速查找到含有指定内容的文件或指定信息的那些行。本章我们继续深入了解有关文本检索的内容。 2、grep 查找文件内容 Linux系统中grep命令是一种强大的文本搜索工具,它能…

使用Loki收集网络设备日志

新钛云服已累计为您分享716篇技术干货前言Loki是Grafana Labs团队的开源项目,是一个水平可扩展,高可用性,多租户的日志聚合系统,它的设计非常简洁易于操作。受Prometheus启发的,可以水平扩展、高可用以及支持多租户的日…

S-HUB如何实现数据库对接WEBSERVICE API

近几年SAAS被大家逐步认可,越来越多的企业购买SAAS服务,但是仍然有很多自建各种业务系统,这些系统建设时一般都只考虑自身业务,而不是特别注重与别的系统之间的互联互通。而企业为了提升效率,又需要将这些业务与别的系…

Java开发 - 双向链表不可怕

前言 说起链表,那还是当初上学的时候学习的,印象里就觉得像锁链一样一环扣一环,后来工作后就几乎没实际接触过链表,每当遇到链表,总是不知道该怎么讲,因为对链表的本质一无所知。也是在学习了Java后&#…

剑指offer----C语言版----第三天

目录 1. 替换空格 1.1 题目描述 1.2 题目背景 1.3 必要的思考 1.4 思路一 1.5 思路二 1.6 思路三(学方法) 1.7 小试牛刀 1. 替换空格 原题链接:剑指 Offer 05. 替换空格 - 力扣(LeetCode)https://leetcode.cn/p…

回首2022,展望2023(年度总结)

回首2022,展望2023 热爱技术的伙计们: 哈喽,这篇文章经过一周左右的写写改改,在2022最后的工作日与大家见面,有人说总结是为了更好的开始。是的,一年的时间真的很快,马上就是2023了&#xff0…

k-mean聚类的python实现

文章目录介绍KMeans()函数介绍实例导入相关包整理数据手肘法确定分类个数创建模型绘制结果分为3类的结果作者:张双双介绍 sklearn.cluster模块提供了常用的非监督聚类算法。 该模块中每一个聚类算法都有两个变体: 一个是类(class)另一个是函数(function)。 类实现了…

day06 Debug基础练习

1.Debug模式 1.1 什么是Debug模式 是供程序员使用的程序调试工具,它可以用于查看程序的执行流程,也可以用于追踪程序执行过程来调试程序。 1.2 Debug介绍与操作流程 如何加断点 选择要设置断点的代码行,在行号的区域后面单击鼠标左键即可 …

刷题记录:牛客NC24858Job Hunt [最长路+两种不同判环详解]

传送门:牛客 题目描述: 奶牛们正在找工作。农场主约翰知道后,鼓励奶牛们四处碰碰运气。而且他还加了一条要求:一头牛在一个城市 最多只能赚D(1≤D≤1000)美元,然后它必须到另一座城市工作。当然,它可以在…

2自由度陀螺仪滑模控制和PID控制跟踪目标轨迹

目录 前言 1.陀螺仪模型 2.滑模跟踪控制 3.PID控制 4.总结 前言 不为别的,这篇小文章只为内涵某人,问候一下他:不是有手就行,哈哈~ 1.陀螺仪模型 2.滑模跟踪控制 对于2自由度陀螺仪有两个方向x、y跟踪,所以需要…

对于软件测试认识的几大误区,看看你有没有?

对于软件开发来说,软件测试可能还不被大众了解,很多开发人员,包括很多软件高层管理人员,由于缺乏软件测试的知识和实践经验,对软件测试的认识还有很多的误区: 误区一:如果软件发布后有质量问题…

我们一起来谈谈高并发和分布式系统的幂等如何处理!

什么是幂等性 幂等是一个数学与计算机学概念,在数学中某一元运算为幂等时,其作用在任一元素两次后会和其作用一次的结果相同。 在计算机中编程中,一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。 幂等函数或幂等…

Codeforces Round #841 (Div. 2)

题目链接 A. Joey Takes Money 题目描述 input output 题意: 有一个长度为n的数组,你可以进行一步操作,选择两个i,j,然后再选择两个数x,y,使得a[i]a[j] xy,然后将a[i] x,a[j] y,问任意步操…

Spring 中运用的 9 种设计模式

Spring中涉及的设计模式总结,在面试中也会经常问道 Spring 中设计模式的问题。本文以实现方式、实质、实现原理的结构简单介绍 Sping 中应用的 9 种设计模型,具体详细的刨析会在后面的文章发布,话不多说,来个转发、在看、收藏三连…

京东软件测试岗:惨不忍睹的三面,幸好做足了准备,月薪17k,已拿offer

我今年25岁,专业是电子信息工程本科,19年年末的时候去面试,统一投了测试的岗位,软件硬件都有,那时候面试的两家公司都是做培训的,当初没啥钱,他们以面试为谎言再推荐去培训这点让我特别难受。 …

Unity 搭建ILRuntime开发环境

Unity热更新目前主流的方案有: Lua, ILRuntime, puerts, huatuo方案。前两个大家都比较熟悉了,puerts 是基于TypeScript开发的热更新,huatuo是基于C#的方案。后两个大家会比较陌生。本系列分享基于ILRuntime来做热更新。 对啦!这里有个游戏开…

【财务】FMS财务管理系统---存货管理

前一篇文章介绍了付款相关的内容,本文中笔者继续介绍FMS财务管理系统的设计,今天是关于存货管理的介绍。 财务存货管理应该就是针对公司的生产原材料、物料、成品、加工品的数量与金额的管控。 在前面也介绍了,存货属于公司的资产&#xff0…

纯Java实现一个网页版的Xshell

前言 最近由于项目需求,项目中需要实现一个WebSSH连接终端的功能,由于自己第一次做这类型功能,所以首先上了GitHub找了找有没有现成的轮子可以拿来直接用,当时看到了很多这方面的项目,例如:GateOne、webss…

微信小程序实现身份证识别-orc

项目中有一个识别身份证的需求,经过调研,最后决定使用微信小程序orc插件进行开发。 一:首先登录小程序公众平台。 1:进入设置> 第三方设置。 2:添加ocr插件。 3:添加完后,需要领取免费额度,100次/天。 https://fuwu.weixin…