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

news2024/11/27 14:34:34

实验三.应用层和传输层协议分析实验

一.实验目的

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

二.实验内容

        从 PC 使用 URL 捕获 Web 请求,运行模拟并捕获通信,研究捕获的通信。

1.从 PC 使用 URL 捕获 Web 请求。

2.从 PC 访问服务器的HTTPS服务,捕获数据包并分析。

3.从 PC 访问服务器的FTP服务,捕获数据包并分析。

三.实验过程

1.从PC使用URL捕获Web请求

(1)配置并进行请求

        放置并直接连接一个PC和一个服务器:

         对PC机进行IP配置,配置为静态IP192.168.0.1,并将DNS服务器IP地址配置为192.168.0.2。

         对服务器进行IP配置,将IP配置为192.168.0.2,并打开DNS服务,添加一个域名解析:

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

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

        点击播放按钮运行模拟和捕获事件。可以看到PC机与服务器之间有数据传输,右侧的事件列表显示了传输的数据包,直到没有更多事件时结束。经过几个数据包的传输,可以观察到浏览器显示了访问的页面(默认页面)。

 (2)数据包分析

        没有更多事件后,可以在事件列表看到所有的数据包。

        在这个对Web的访问请求中,数据包的协议类型有DNS,ARP,TCP,HTTP。可以查看每个数据包的PDU信息,PDU信息按照OSI参考模型组织,可以看到每一层的事件,也可以查看PDU的详细信息,在详细信息中,数据按照不同层次的协议组织。查看第一个DNS数据包的PDU信息,可以在应用层看到这是一个DNS请求,在PDU详情中可以看到DNS请求的具体域名为www.server1.com。

        查看其他数据包的信息,可以找到DNS响应,TCP建立连接,HTTP发起请求和服务器响应HTTP请求的相应数据包:

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

2.从PC访问服务器的HTTPS服务,捕获数据包并分析。

        Packet Tracer支持HTTP协议和HTTPS协议,并且支持不同格式的图像。以下分别使用HTTP协议和HTTPS协议访问一个Web页面。捕获数据包并进行分析。

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

        在仿真模式下,使用浏览器访问http://10.1.1.3,网页的内容是Gif和Jpg图片。捕获的数据包在事件列表列出。

 

         除了ARP,TCP,HTTP协议的报文,还出现了ICMP控制报文,IPv6中的NDP(邻居发现协议)。IPv6中的NDP可以代替ARP实现地址解析,路由器发现等,可以观察到只有PC0发往服务器的NDP报文,服务器没有响应,因为服务器没有IPv6配置。

        查看事件列表的HTTP报文,可以找到源主机PC0的HTTP请求和服务器的响应。在PDU信息中,HTTP请求的请求行没有显示。第一个请求应该是对html页面的请求,并可以找到对应的服务器响应。

        接收类型为图片的是对页面的图片对象的请求,但是服务器没有发回图片对象,因此浏览器的页面也无法显示这两个没有请求到的图片。

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

        在仿真模式下,使用浏览器访问https://10.1.1.3,查看并分析捕获的数据包。可以看到请求和响应均使用HTTPS协议。

 

        查看具体的PDU信息,和使用HTTP协议是相同的。尽管HTTPS是一个加密协议,在这个版本的Packet Tracer中,PDU不会隐藏报文内容。

3.从 PC 访问服务器的FTP服务,捕获数据包并分析。

        网络拓扑结构如下,包含两个PC主机,一个交换机,一个路由器,以及一个服务器。其中服务器提供FTP服务,支持文件的命名,删除,读写等操作;PC运行FTP客户端,访问服务器提供的FTP服务。

 (1)测试FTP write

        在命令行输入ftp www.ftpserver.com访问服务器的FTP服务,服务器确认连接后,输入默认的用户名和密码cisco,然后就可以使用服务器的FTP服务了。将文件sampleFile.txt上传到服务器。

         在服务器端打开FTP服务配置,可以找到从PC0上传的文件。

(2)测试FTP read和directory listing

        输入dir,可以看到FTP服务器的文件列表,选择一个文件,使用get命令下载该文件。然后使用quit命令退出FTP服务,使用dir命令可以看到PC主机的文件,可以找到下载的文件。

FTP服务器的文件列表

下载文件

(3)测试FTP rename和delete

        将上传的sampleFile.txt重命名为testFile.txt,然后将其删除。

 (4)数据包分析

        打开仿真模式,访问FTP服务,可以在事件列表查看捕获到的数据包。可以看到数据包从PC0发出,要经过交换机和路由器。可以找到携带FTP命令的数据包以及响应的数据包。这个FTP数据包只响应了命令完成,文件列表在后续的FTP数据包中发送给主机。

响应数据包经过交换机和路由器到达主机PC0 

 文件列表的发送

        FTP工作的基本过程是,客户与FTP建立一个命令连接,当需要传输文件时,FTP首先发送数据包表示接受到了命令,然后主机会与FTP服务器建立一个新的TCP连接,进行文件的传输。

        分析事件列表中的数据包,可以发现PC机一共建立了源端口1030,1031两个连接,1030端口向FTP服务器的21端口发送FTP请求,而1031端口则是与服务器的1034端口建立连接,完成文件的传输。工作的过程和原理是一致的。

四.实验总结

通过本次实验学习与熟悉了Packet Tracer的使用,以及使用Packet Tracer进行协议分析的基本方法和过程。通过对HTTP以及FTP请求过程的数据包分析,更加深入了解了这两个应用层协议的工作过程,以及底层的协议的数据包如何传输并支持应用层的协议。

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

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

相关文章

第06讲:为何各大开源框架专宠 SPI 技术?

在此前的内容中,已经详细介绍了 SkyWalking Agent 用到的多种基础技术,例如,Byte Buddy、Java Agent 以及 OpenTracing 中的核心概念。本课时将深入介绍 SkyWalking Agent 以及 OAP 中都会使用到的 SPI 技术。 JDK SPI 机制 SPI&#xff08…

Oracle-12c版本之后替换OCR磁盘组步骤

背景: 用户有一套Oracle12.2的RAC集群,在安装配置的时候,OCR磁盘只使用了单块磁盘external的模式,想替换成包含三块磁盘组成员normal模式的磁盘组 OCR磁盘组存储的对象: 在替换OCR磁盘之前,我们先确认需要迁移的OCR磁盘组存储的对…

图扑数字孪生助力智慧冷链园区实现大数据实时监控

前言 近年来,业界学者及企业就智慧冷链物流展开深入研究,2010 年 IBM 发布的《智慧的未来供应链》研究报告中提出智慧供应链概念,并由此延伸出智慧物流概念,即智慧物流是以信息化为依托并广泛应用物联网、人工智能、大数据、云计…

设置rocky Linux ip 与主机服务器处于同一网段内,并且能上网

第一步:查找主机服务器的 了解地址信息 第二步,设置rocky Linux 网络适配器连接,选择桥接模式 第三步:设置rocky Linux ip 第四步,设置完,重启Linux ,验证ip是否修改过来,是否在同一…

【python】scikit-learn包:模型评估与优化

模型构建的目的 首先明确,模型拟合的目的: 不是对训练数据进行准确预测,而是对新数据进行准确预测 欠拟合 与 过拟合 欠拟合:可以通过训练数据及时发现,且可通过优化模型结果解决 过拟合:难以发觉&#x…

Golang基础----基于Goland编辑器快速体验Golang

【原文链接】Golang基础----基于Goland编辑器快速体验Golang (1)打开Goland,点击“New Project” (2)设置项目存放位置以及项目名,然后点击“Add SDK”,然后点击“Local” (3&a…

vue3 的router跳转 - 页面同tab跳转和打开新tab跳转

vue3 的router跳转 - 页面同tab跳转和打开新tab跳转 vue3的路由基本知识 当前页需要的方法 主要是获得Vue Router实例暴露的一些方法,使用这些方法,进行路由操作引入 import { useRouter } from vue-router;调用 const router useRouter();目标页需…

Android jetpack Compose之约束布局

概述 我们都知道ConstraintLayout在构建嵌套层级复杂的视图界面时可以有效降低视图树的高度,使视图树扁平化,约束布局在测量布局耗时上比传统的相对布局具有更好的性能,并且约束布局可以根据百分比自适应各种尺寸的终端设备。因为约束布局确…

simulink simscape传感总结

1. 传感模块概述2. 可观测的传感量3. 传感模块3.1 运动传感模块3.1.1 旋转和平移细分旋转平移 3.2 力传感模块3.2.1 关节力和力矩细分 1. 传感模块概述 Simscape提供传感模块,通过改变模型的输入和输出,可以进行许多分析,比如可以进行机械臂…

中移链控制台对接4A平台功能验证介绍

中移链控制台具备单独的注册登录页面,用户可通过页面注册或者用户管理功能模块进行添加用户,通过个人中心功能模块进行用户信息的修改和密码修改等操作,因业务要求,需要对中移链控制台的用户账号进行集中管理,统一由 4…

2 文件IO

2.1 文件描述符 对于内核而言,所有打开文件都由文件描述符引用。文件描述符是一个非负整数。当打开 一个现存文件或创建一个新文件时,内核向进程返回一个文件描述符。当读、写一个文件时, 用open或creat返回的文件描述符标识该文件&#xff0…

QT 网络编程之主机信息查询(QHostInfo 和 QNetworkInterface类)简介

Qt 网络模块提供了用于编写 TCP/IP 客户端和服务器端程序的各种类,如用于 TCP 通信的QTcpSocket 和 QTcpServer,用于 UDP 通信的 QUdpSocket,还有用于实现 HTTP、FTP 等普通网络协议的高级类如 QNetworkRequest,QNetworkReply 和Q…

【Redis】Redis中的5种基础数据类型详解

文章目录 1. Redis数据结构2. 基础数据结构详解2.1 String字符串2.2 List列表2.3 Set集合2.4 Hash散列2.5 Zset有序集合 1. Redis数据结构 对于Redis来说,所有的key(键)都是字符串,我们一般所讨论的Redis基础数据类型指的是存储的…

ref在Vue2、Vue3中的使用

文章目录 前言一、ref在Vue2中的用法二、ref在Vue3中的用法 前言 记录一下ref在Vue2与Vue3中的使用,ref可以获取DOM元素,也可以获取子组件的数据、方法。 一、ref在Vue2中的用法 给元素绑定一个ref,然后在js中通过this.$refs获取DOM。 ref命…

@PostConstruct注解和@PreDestroy注解

前言 Bean注解指定初始化和销毁的方法,也介绍了使用InitializingBean和DisposableBean来处理bean的初始化和销毁。JDK中还提供了两个注解能够在bean创建完成并且属性赋值完成之后执行一些初始化工作和在容器销毁bean之前通知我们进行一些清理工作。 1.PostConstru…

java 获取当前线程的方法

我们知道,线程是程序运行的基本单元,是程序中各进程之间通信的桥梁,一个线程的创建和销毁直接影响整个程序的运行效率。 我们在 Java中经常使用 Runnable接口来获取当前线程,获取线程的主要目的就是为了快速地启动进程。但是&…

一键导出ChatGPT聊天记录:让备份更简单

重要性: 备份ChatGPT的聊天记录同样非常重要,因为这些记录可能包含了您与ChatGPT的交互记录,这些记录可能包含了您的个人信息、兴趣爱好、偏好和其他敏感信息。以下是备份ChatGPT聊天记录的一些重要性: 防止数据丢失:…

FT2000+ qemu kvm 64C64G 通过频繁设置CPU online 状态导致虚拟机红旗操作系统假死测试用例

宿主机配置 虚拟机配置文件 <domain typekvm> //如果是Xen&#xff0c;则type‘xen’<name>redflag1</name> //虚拟机名称&#xff0c;同一物理机唯一<uuid>44748c15-7c00-4817-8724-675a27c3f821</uuid> //同一物理机唯一&#xff0c;可用uu…

北京 Meetup 预告 | 内含六个话题,满满干货,期待见面!

在春之末尾&#xff0c;夏之开始的5月&#xff0c;响应社区小伙伴们的呼唤&#xff0c;我们泽拓科技将在北京举办线下社区技术交流活动。 此次我们泽拓科技邀请了去哪儿网、ScaleFlux、美团、SphereEx的相关资深专家来分享他们的数据库探索与实践。我们真诚邀请数据库技术社区…

Day3_Springboot框架搭建

前面两天介绍了vue前端的主体框架&#xff0c;并完成了相关页面的部分设置&#xff0c;接下来开始介绍springboot后端开发的过程&#xff0c;手把手实践。包括项目的初始构建以及集成mybatis、mybatis-plus实现增删改查&#xff0c;分页查询&#xff0c;集成swagger-ui测试&…