【计算机网络】ICMP报文实验

一:实验目的

1:掌握ICMP报文的各种类型及其代码。

2:掌握ICMP报文的格式。

3:深入理解TTL的含义(Time to Live,生存时间)。

二:实验仪器设备及软件

硬件:RCMS-C服务器、网线、Windows 2019/2003操作系统的计算机等。

软件:记事本、WireShark、Chrome浏览器等。

三:实验方案

【实验的网络拓扑图】

1:请求、应答类型需要在ping通情况下获得,因此网络拓扑结构采用实验4.3的拓扑。

2:不可达类型需要发送方和接收方不在同一网内。

3:连接超时类型需要在ping通情况下获得,但是将TTL限制在1,因此网络拓扑结构采用实验4.3的拓扑。

四:实验步骤

1:设计拓扑并实现抓包分析4种icmp报文,每种报文按下表填写抓到的前4个报文信息。

设计拓扑方法已经在第三部分阐述。

Request类型下的前4个报文信息截图如下。

Request类型下的前4个报文信息填表如下。

报文号

源IP

目的IP

报文格式

类型

代码

标识

序列号

BE

LE

BE

LE

1

10.206.30.2

10.206.10.2

8

0

1

256

65

16640

3

10.206.30.2

10.206.10.2

8

0

1

256

66

16896

7

10.206.30.2

10.206.10.2

8

0

1

256

67

17152

9

10.206.30.2

10.206.10.2

8

0

1

256

68

17408

Reply类型下的前4个报文信息截图如下。

Reply类型下的前4个报文信息填表如下。

报文号

源IP

目的IP

报文格式

类型

代码

标识

序列号

BE

LE

BE

LE

2

10.206.10.2

10.206.30.2

0

0

1

256

65

16640

4

10.206.10.2

10.206.30.2

0

0

1

256

66

16896

8

10.206.10.2

10.206.30.2

0

0

1

256

67

17152

10

10.206.10.2

10.206.30.2

0

0

1

256

68

17408

Unreachable类型下的前4个报文信息截图如下。

Unreachable类型下的前4个报文信息填表如下。其中,代码为0标识是network unreachable。

报文号

源IP

目的IP

报文格式

类型

代码

标识

序列号

BE

LE

BE

LE

2

10.206.30.1

10.206.30.2

3

0

4

10.206.30.1

10.206.30.2

3

0

6

10.206.30.1

10.206.30.2

3

0

8

10.206.30.1

10.206.30.2

3

0

Time out类型下的前4个报文信息截图如下。

Time out类型下的前4个报文信息填表如下。

报文号

源IP

目的IP

报文格式

类型

代码

标识

序列号

BE

LE

BE

LE

2

10.206.30.1

10.206.30.2

11

0

4

10.206.30.1

10.206.30.2

11

0

6

10.206.30.1

10.206.30.2

11

0

9

10.206.30.1

10.206.30.2

11

0

2:执行【tracert 某某网址】,抓图、抓包、分析。

执行的命令为:tracert www.baidu.com。完整的捕获报文,如下图所示。

本地cmd运行结果,如下图所示。

各类ICMP报文,汇总如下表。

ICMP报文

类型码

代码

请求

8

0

应答

0

0

超时

11

0

不可达

3

3

Request:

Exceeded:

Unreachable:

Reply:

五:实验结果及分析

1:第二个实验截获了哪几种ICMP报文?其类型码和代码各为多少?

截获了4种ICMP报文,分别是request、reply、unreachable、exceeded。

分别对应的类型码是8、0、3、11。

分别对应的类型码是0、0、3、0。

2:在第二个实验截获的报文中,哪些是超时报告报文?请截图显示并指出源地址分别是多少?

Info处显示Time-to-live exceeded的报文,均是超时报告报文。

截图如下,源地址是192.168.0.254,目的地址是192.168.0.108。

3:查看第二个实验ICMP echo分组,是否这个分组和前面使用ping的ICMP echo一样?若不一样,请分析使用tracert命令后收到的分组里TTL值的变化规律。

Echo的字段是一样的,字段内的数值不一样。

Ping的ICMP echo分组如下图所示。

Tracert的ICMP echo分组如下图所示。

使用tracert命令后收到的分组里TTL值,逐次加1。

4:对照ICMP协议,分析一下ICMP超时报告分组比ICMP echo分组多包含的信息有哪些?

IP数据报的首部以及TCP或UDP协议的端口号。

    具体来说,超时报告有一个外层的internet control message protocol,内部包含基本的echo分组信息、internet protocol version 4、一个内层的internet control message protocol。

六:实验总结及体会

1:常用的查询报文和差错报文的type和code如下。其中黄色部分为查询报文,绿色部分为差错报文。

2:IP协议的缺点:IP协议没有差错报文或差错纠正机制,且缺少一种为主机和管理查询的基址。

3:ICMP报文格式如下。

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

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

相关文章

等级保护测评解决方案

什么是等级保护测评? 网络安全等级保护是指对国家重要信息、法人和其他组织及公民的专有信息以及公开信息和存储、传输、处理这些信息的信息系统分等级实行安全保护,对信息系统中使用的信息安全产品实行按等级管理,对信息系统中发生的信息安全…

小模型狂飙!6家巨头争相发布小模型,Andrej Karpathy:大语言模型的尺寸竞争正在倒退...

过去一周,可谓是小模型战场最疯狂的一周,商业巨头改变赛道,向大模型say byebye~。 OpenAI、Apple、Mistral等“百花齐放”,纷纷带着自家性能优越的轻量化小模型入场。 小模型(SLM),是相对于大语言模型(LLM…

Istio 学习笔记

Istio 学习笔记 作者:王珂 邮箱:49186456qq.com 文章目录 Istio 学习笔记[TOC] 前言一、基本概念1.1 Istio定义 二、Istio的安装2.1 通过Istioctl安装2.2 通过Helm安装 三、Istio组件3.1 Gateway3.2 VirtulService3.2.1 route详解3.2.2 match详解3.2.3…

【前端 02】新浪新闻项目-初步使用CSS来排版

在今天的博文中,我们将围绕“新浪新闻”项目,深入探讨HTML和CSS在网页制作中的基础应用。通过具体实例,我们将学习如何设置图片、标题、超链接以及文本排版,同时了解CSS的引入方式和选择器优先级,以及视频和音频标签的…

【Gin】智慧架构的巧妙砌筑:Gin框架中控制反转与依赖注入模式的精华解析与应用实战(下)

【Gin】智慧架构的巧妙砌筑:Gin框架中控制反转与依赖注入模式的精华解析与应用实战(下) 大家好 我是寸铁👊 【Gin】智慧架构的巧妙砌筑:Gin框架中控制反转与依赖注入模式的精华解析与应用实战(下)✨ 喜欢的小伙伴可以点点关注 💝 …

怀旧必玩!重返童年,扫雷游戏再度登场!

Python提供了一个标准的GUI(图形用户界面)工具包:Tkinter。它可以用来创建各种窗口、按钮、标签、文本框等图形界面组件。 而且Tkinter 是 Python 自带的库,无需额外安装。 Now,让我们一起来回味一下扫雷小游戏吧 扫…

快速搞定分布式RabbitMQ---RabbitMQ进阶与实战

本篇内容是本人精心整理;主要讲述RabbitMQ的核心特性;RabbitMQ的环境搭建与控制台的详解;RabbitMQ的核心API;RabbitMQ的高级特性;RabbitMQ集群的搭建;还会做RabbitMQ和Springboot的整合;内容会比较多&#…

【C++】C++入门知识(上)

好久不见&#xff0c;本篇介绍一些C的基础&#xff0c;没有特别的主题&#xff0c;话不多说&#xff0c;直接开始。 1.C的第一个程序 C中需要把定义文件代码后缀改为 .cpp 我们在 test.cpp 中来看下面程序 #include <stdio.h> int main() {printf("hello world\n…

SQL Server 设置端口号:详细步骤与注意事项

目录 一、了解SQL Server端口号的基础知识 1.1 默认端口号 1.2 静态端口与动态端口 二、使用SQL Server配置管理器设置端口号 2.1 打开SQL Server配置管理器 2.2 定位到SQL Server网络配置 2.3 修改TCP/IP属性 2.4 重启SQL Server服务 三、注意事项 3.1 防火墙设置 3…

Java小抄|Java中的List与Map转换

文章目录 1 List<User> 转Map<User.id,User>2 基础类型的转换&#xff1a;List < Long> 转 Map<Long,Long> 1 List 转Map<User.id,User> Map<Long, User> userMap userList.stream().collect(Collectors.toMap(User::getId, v -> v, …

p28 vs环境-C语言实用调试技巧

int main() { int i0; for(i0;i<100;i) { printf("%d",i); } } 1.Debug 和Release的介绍 Debug通常称为调试版本&#xff0c;它包含调试信息&#xff0c;并且不做任何优化&#xff0c;便于程序员调试程序。 Release称为发布版本&#x…

PTPD 在 QNX 系统上的授时精度验证与误差排查

文章目录 0. 引言1.关键函数实现2. 验证策略与结果3. 授时误差的排查与解决3. 授时误差的排查与解决4. 结论 0. 引言 PTPD是一种时间同步的开源实现&#xff0c;在不同操作系统上的表现可能存在显著差异。 本文通过在QNX系统上运行PTPD&#xff0c;针对其授时精度进行详细验证…

探索算法系列 - 双指针

目录 移动零&#xff08;原题链接&#xff09; 复写零&#xff08;原题链接&#xff09; 快乐数&#xff08;原题链接&#xff09; 盛最多水的容器&#xff08;原题链接&#xff09; 有效三角形的个数&#xff08;原题链接&#xff09; 查找总价格为目标值的两个商品&…

优化算法:2.粒子群算法(PSO)及Python实现

一、定义 粒子群算法&#xff08;Particle Swarm Optimization&#xff0c;PSO&#xff09;是一种模拟鸟群觅食行为的优化算法。想象一群鸟在寻找食物&#xff0c;每只鸟都在尝试找到食物最多的位置。它们通过互相交流信息&#xff0c;逐渐向食物最多的地方聚集。PSO就是基于这…

【python_将一个列表中的几个字典改成二维列表,并删除不需要的列】

def 将一个列表中的几个字典改成二维列表(original_list,headersToRemove_list):# 初始化一个列表用于存储遇到的键&#xff0c;保持顺序ordered_keys []# 遍历data中的每个字典&#xff0c;添加其键到ordered_keys&#xff0c;如果该键还未被添加for d in original_list:for …

P4009 汽车加油行驶问题题解

P4009 汽车加油行驶问题 紫题&#xff0c;但是DFS。 思路 记忆化搜索&#xff0c;分多钟情况去搜索。 注意该题不用标记&#xff0c;有可能会往回走。 有可能这样走。 代码 #include<bits/stdc.h> #include<cstring> #include<queue> #include<set&g…

redis:清除缓存的最简单命令示例

清除redis缓存命令(执行命令列表见截图) 1.打开cmd窗口&#xff0c;并cd进入redis所在目录 2.登录redis redis-cli 3.查询指定队列当前的记录数 llen 队列名称 4.清除指定队列所有记录 ltrim 队列名称 1 0 5.再次查询&#xff0c;确认队列的记录数是否已清除

配置和连接另一台电脑上的 MySQL 数据库

要配置和连接另一台电脑上的 MySQL 数据库&#xff0c;可以按照以下步骤进行设置&#xff1a; 1. 配置 MySQL 服务器 在目标计算机上&#xff08;192.168.10.103&#xff09;进行以下操作&#xff1a; 修改 MySQL 配置文件&#xff1a; 打开 MySQL 配置文件&#xff08;通常位…

【系统架构设计师】十八、信息系统架构设计理论与实践①

目录 一、信息系统架构概述 二、信息系统架构风格与分类 2.1 信息系统架构风格 2.2 信息系统架构分类 三、信息系统架构模型 3.1 单体应用 3.2 客户机/服务器 3.2.1 二层 C/S 3.2.2 三层 C/S 和 B/S 3.2.3 多层 C/S 和 B/S 3.2.4 MVC 3.3 面向服务架构(SOA)模式 …

Activiti 本地画流程 http://localhost:8080/activiti-app/#/

http://localhost:8080/activiti-app/#/ 1、本地安装了Tomcat 2、本地安装了Activiti 3、拷贝Activiti中这两个文件到Tomcat中的webapps目录下 4、启动startu.bat 5、http://localhost:8080/activiti-app/#/ 账号&#xff1a;admin 密码&#xff1a;test