文章及资源归档至公众号【AIShareLab】,回复 通信系统与网络 可获取。

一、目的

1.熟悉模拟实验环境 eNSP 的使用;
2.掌握 eNSP 中组网、配置及测试的方法;
3.掌握华为网络设备的视图、命令及配置方法;
4.掌握利用 Wireshark 捕获和分析数据包的方法;
5.熟悉常用网络命令协议机制和使用方法;

二、环境及网络拓扑

一台计算机 PC1 与一台路由器 AR1 通过网线直连,网络拓扑如图 1 所示。其中,PC1的 IP 地址是 192.168.1.1/24,默认网关 IP 地址是 192.168.1.254,AR1 GE0/0/0 接口的 IP 地 址是 192.168.1.254/24,拓扑结构如图1所示。
在这里插入图片描述
图1 使用 eNSP 组网拓扑图

三、步骤及结果分析

1.启动 eNSP 程序,单击“新建拓扑”,弹出如图 2 所示的空白工作区:
在这里插入图片描述
图2 eNSP 用户界面

(1)放置和连接设备。

①放置路由器:在设备类型选择框中选中设备类型“路由器”,然后在设备选择框中选中设备
型号,此例选择 AR1220。将光标移到工作区,光标变为选中的设备型号,单击鼠标,完成
型号为 AR1220 设备的放置过程,如图 3 所示。
备注:如果需要放置多个该型号的设备,可以通过重复多次相同操作完成。如果需要放置其 他型号的设备,可以重新在设备类型选择框中选中新的设备类型,在设备选择框中选中新的 设备型号。如果不再放置设备,可以单击工具栏中的“恢复鼠标”按钮。

在这里插入图片描述

图3 在工作区放置路由器

②放置计算机:在设备类型选择框中选中设备类型“终端”,然后在设备选择框中选中设备型号,此例选择 PC。将光标移到工作区,光标变为选中的设备型号,单击鼠标,完成型号为 PC 的终端放置过程,如图 4 所示。
在这里插入图片描述

图4 在工作区放置计算机

③设备连线:在设备类型选择框中选中“设备连线”,在设备选择框中选各种正确的连接线类型,此例选择 Copper。选中 Copper,在需要连接的两端设备上单击鼠标左键,弹出该设备的接口列表,在接口列表中选择需要连接的接口。在需要连接的两端设备上分别选择接口后,完成连接过程,如图 5 所示。
在这里插入图片描述

图5 在工作区中设备连线

(2)启动设备。

单击工具栏中的“恢复鼠标”按钮恢复鼠标之后,在工作区中拖动鼠标选择需要启动的设备范围,单击工具栏中的“开启设备”按钮,开始选中设备的启动过程,如图 6 所示,连接线两端端口状态变绿,启动过程完成。只有在完成启动过程后,才可以开始设备的配置过程。

在这里插入图片描述

图6 设备启动后的网络拓扑

(3)配置实现。

①配置路由器:工作区中的设备完成启动过程后,通过双击路由器 AR1,进入该设备的 CLI界面,如图 7 所示。
在这里插入图片描述

图7 路由器 CLI 界面

在该命令行界面中完成对路由器的基本配置,具体如下:

<Huawei> system-view //从用户视图进入系统视图 
Enter system view, return user view with Ctrl+Z. 
[Huawei] interface GigabitEthernet 0/0/0 
//从系统视图进入接口GigabitEthernet0/0/0的接口视图 
[Huawei-GigabitEthernet0/0/0] ip address 192.168.1.254 24 
//为接口GigabitEthernet0/0/0配置IP地址192.168.1.254和前缀24(子网掩码255.255.255.0)

②配置计算机:双击计算机 PC1 图标,弹出设备配置管理窗口,该窗口包括基础配置、命令 行、组播、UDP 发包工具和串口等五个选项卡。如图 8 所示,在相应的字段中静态配置计 算机 PC1 的 IP 地址、子网掩码和网关地址,之后,点击“应用”按钮。

在这里插入图片描述

图8 配置计算机 PC1 地址信息

(4)联通性测试。

①PC1 ping AR1 GE0/0/0:双击计算机 PC1 图标,弹出设备配置管理窗口。单击“命令行” 选项卡,打开命令提示符界面。在命令提示符下,输入 ping 192.168.1.254,能够收到 AR1 的 应答信息,如图 9 所示,表明计算机 PC1 与路由器 AR1 的 GE0/0/0 联通。
在这里插入图片描述

图9 PC1 ping AR1 GE0/0/0

②AR1 ping PC1: 双击路由器 AR1,进入该设备的 CLI 界面,在该命令行界面中输入 ping 192.168.1.1,结果如图 10 所示,表明路由器 AR1 与 PC1 相互联通。
在这里插入图片描述

图10 AR1 ping PC1

(5)抓包分析。

eNSP 与 Wireshark 结合,可以捕获网络设备运行过程中交换的各种类型的报文,并显 示报文中各个字段的值。

①启动抓包。

如图 11 所示,在计算机 PC1 图标上单击鼠标右键,在弹出的选项中选择“数据抓包”, 然后选择相应接口“Ethernet0/0/1”,启动 Wireshark 并开始捕获通过该接口的数据包。
在这里插入图片描述

图11 PC1 端口显示蓝点表示捕获过程正在进行
如图 12所示,PC1 的 Ethernet0/0/1 端口上显示蓝点,表示捕获过程正在进行。
在这里插入图片描述

图12 PC1 端口显示蓝点表示捕获过程正在进行

②运行命令。

以联通性测试为例,双击计算机 PC1 图标,弹出设备配置管理窗口。单击“命令行”选项卡,打开命令提示符界面。在命令提示符下,依次输入以下命令:arp -d;arp -a;ping 192.168.1.254,分别完成清除 ARP 缓存、查询确认 ARP 缓存、测试与 192.168.1.254 的联通性,结果如图 13 所示,可见能够收到 AR1 的应答信息。

在这里插入图片描述

图13 清除 ARP 缓存,测试联通性

③分析报文。

在 Wireshark 界面中,点击工具栏中的“停止捕获分组”按钮,获取捕获的信息,如图
14 所示,表明 PC1 与 AR1 的联通性测试过程中产生了分别采用 ARP 和 ICMP 协议的多个数据包交互。
在这里插入图片描述

图14 捕获的数据包

Ⅰ 分析 ARP 数据包

⑴过滤数据包,查看协议栈。在显示过滤器中输入“arp”,将 ARP 数据包过滤并显示出来, 如图 14 所示,在数据包细节面板中可以看到 ARP 数据包所对应的协议栈主要包含三个层, 其中,Frame 1 表示了网卡所捕获 1 号数据包在物理层上以比特为单位的相关信息;Ethernet II 表示了所捕获的信息在数据链路层上以 Ethernet II 帧格式封装;Address Resolution Protocol 表示了所捕获的信息在网络层上以 ARP 协议封装。
回答下列问题:
结合捕获信息,说明 ARP 数据包自下而上的协议栈结构。

**从下往上看,ARP数据包的协议栈结构如下:
数据链路层(Ethernet II):目标地址、源地址和类型字段。在这个例子中,目标地址是广播地址(ff:ff:ff:ff:ff:ff),源地址是00:0c:29:aa:bb:cc,类型字段为ARP(0x0806)。
网络层(ARP):硬件类型、协议类型、硬件地址长度、协议地址长度、操作码、发送者MAC地址、发送者IP地址、目标MAC地址和目标IP地址。
因此,ARP数据包的协议栈自下而上依次为:数据链路层(Ethernet II)、网络层(ARP)。**

在这里插入图片描述

图15 过滤 ARP 报文

⑵结合通信过程,分析协议机制。如图 15 所示,ARP 解析过程包含了请求和应答两个过程,相应产生的 ARP 数据包分别为 ARP 请求和 ARP 应答。
回答下列问题:

**为什么在此处出现了 ARP 数据包,其作用是什么?
答:ARP数据包的作用是帮助发送设备解析目标设备的MAC地址。当发送设备需要与目标设备通信时,它会发送一个ARP请求数据包,该数据包包含目标设备的IP地址。如果目标设备在同一个局域网上,它将收到ARP请求并回复一个ARP应答数据包,该数据包包含目标设备的MAC地址。发送设备将收到ARP应答后,就能够将数据包发送到目标设备了。收到消息后将该IP地址和物理地址存入本机ARP缓存保留,下次请求时直接查询ARP缓存以节约资源。**

⑶分析单一数据包格式。
①ARP 请求:以 1 号为例,在数据包列表面板中单击 1 号数据包,选中一个 ARP 请求数据包。 然后在数据包细节面板中展开显示该数据包的详细信息。
回答下列问题:

a. 包含 ARP 请求消息的以太网帧中的源地址和目标地址的十六进制值是多少?

在这里插入图片描述
图16 ARP 报文相关信息

答:如图16所示,源地址:54:89:98:25:0a:65 目标地址:ff:ff:ff:ff:ff:ff
b. 给出双字节以太网帧类型字段的十六进制值。这对应于什么上层协议?
答:0x0806 ARP协议
c. 包含 ARP 请求消息的以太网帧中是否包含填充字段?
答:如图15所示,包含填充字段。
d. ARP 消息是否包含发送者的 IP 地址?
答:ARP消息包含发送者的IP地址。在ARP请求消息中,发送者会将自己的IP地址放入ARP请求消息的源IP地址字段中,以便接收者知道请求的来自哪个IP地址。接收者收到ARP请求消息后,会使用请求中的源IP地址来确定请求的发出者。在ARP应答消息中,发送者同样会将自己的IP地址放入ARP应答消息的源IP地址字段中,以便接收者知道应答的来自哪个IP地址。接收者收到ARP应答消息后,会使用应答中的源IP地址来确定应答的发出者。
e. 在 ARP 请求中,“问题”(即查询使用相应 IP 地址的机器的以太网地址)出现在哪里?
答:出现在32-37字节。
②ARP 应答:类似的,选中 2 号数据包,即响应 ARP 请求而发送的 ARP 应答数据包,然后展开该数据包的详细信息。

在这里插入图片描述

图17 2号arp数据包

回答下列问题:
a. 在 ARP 消息中,之前 ARP 请求的“答案”(即回答使用相应 IP 地址的机器具有的以太网地址)出现在哪里?
答:出现在22-27字节。
b.包含 ARP 应答消息的以太网帧中的源地址和目标地址的十六进制值是多少?
答:源地址:00:e0:fc:32:80:6d 目标地址:54:89:98:25:0a:65。

Ⅱ 分析 ICMP 数据包

⑴ 过滤数据包,查看协议栈。在显示过滤器中输入“icmp”,将 ICMP 数据包过滤并显示出来,如图 18 所示。
回答下列问题:
结合捕获信息,说明 ICMP 数据包自下而上的协议栈及封装结构。
从下往上看,ICMP数据包的封装结构如下:

**数据链路层(Ethernet II):目标地址、源地址和类型字段。
网络层(IPv4):版本、头部长度、服务类型、总长度、标识符、标志、片偏移、生存时间、协议、头部校验和、源地址和目标地址。
传输层(ICMP):类型、代码、校验和、标识符、序列号和数据。
因此,ICMP数据包的协议栈自下而上依次为:数据链路层(Ethernet II)、网络层(IPv4)、传输层(ICMP)。**

在这里插入图片描述
图18 过滤 ICMP 报文

⑵结合通信过程,分析协议机制。ping 过程中产生多个成对的 ICMP 数据包,每个分组对分别包含 ICMP 请求和 ICMP 应答。
回答下列问题:
此处分别出现多少个 ICMP 请求和应答数据包?与测试命令显示的结果是否一致?
答:由实验结果可知,一共有5个 ICMP 请求数据包和5个 ICMP 应答数据包,与测试命令显示的结果一致。
⑶分析单一分组格式。
回答下列问题:
a. 源主机的 IP 地址是什么?目标主机的 IP 地址是什么?
答:源主机地址:192.168.1.1 目标主机地址:192.168.1.254
b.为什么 ICMP 数据包没有源和目标端口号?
答:在ICMP消息中,发送者和接收者的IP地址用于标识消息的来源和目的地。ICMP消息中各种类型的消息都有不同的类型码,这些类型码用于标识消息的具体类型和目的。因此,ICMP使用IP地址和类型码来确定消息的来源和目的地,而不需要使用端口号。
c.查看主机发送的一个 ping 请求包。ICMP 类型和代码号是什么?此 ICMP 数据包还有哪其他字段?校验和、序列号和标识符字段有多少字节?
在这里插入图片描述

图19 ICMP 报文相关信息

**答: 如图19,ICMP 类型是8,代码号是0; ICMP数据包包含以下字段:
校验和(Checksum):用于检测ICMP数据包是否在传输过程中发生了损坏,占2个字节。
标识符(Identifier):用于在ICMP请求和应答消息之间进行匹配,占2个字节。
序列号(Sequence Number):用于在ICMP请求和应答消息之间进行匹配,占2个字节。
其他数据:ICMP消息还包含协议字段、源IP 地址和目的IP 地址字段、生存时间字段、flag字段、头部检验和字段、偏移字段、协议字段、checksum字段、Identifier字段、sequence number字段、data字段等。因此,ICMP数据包包含类型、代码、校验和、标识符、序列号和其他数据等字段。其中,校验和、标识符和序列号字段各占2个字节,总共占用6个字节的空间。**

d.查看相应的 ping 应答包。ICMP 类型和代码号是什么?此 ICMP 数据包还有哪些其他字段?校验和、序列号和标识符字段有多少字节?
在这里插入图片描述
图20 ICMP应答包相关信息

**答: 如图20,ICMP 类型是0,代码号是0; ICMP数据包包含以下字段:
校验和(Checksum):用于检测ICMP数据包是否在传输过程中发生了损坏,占2个字节。
标识符(Identifier):用于在ICMP请求和应答消息之间进行匹配,占2个字节。
序列号(Sequence Number):用于在ICMP请求和应答消息之间进行匹配,占2个字节。
其他数据:ICMP消息还包含协议字段、源IP 地址和目的IP 地址字段、生存时间字段、flag字段、头部检验和字段、偏移字段、协议字段、checksum字段、Identifier字段、sequence number字段、data字段等。因此,ICMP数据包包含类型、代码、校验和、标识符、序列号和其他数据等字段。其中,校验和、标识符和序列号字段各占2个字节,总共占用6个字节的空间。**


YOLO
16 声望3 粉丝