APP下载

基于Cisco Packet Tracer的网络安全技术实践研究*
——以ICMP协议分析为例

2021-10-23

科技创新与生产力 2021年9期
关键词:IP地址交换机报文

林 宁

(泰州机电高等职业技术学校,江苏 泰州225300)

1 ICMP协议的概念

随着计算机网络技术的飞速发展,网络安全技术也越来越受到人们的重视。为了使计算机网络的发展更加标准、系统和灵活,用于网络通信的计算机之间就需要制定一些“公约”,只有遵循这些“公约”的计算机才能相互通信。这种“公约”就被称为协议。其中,Internet控制报文协议(Internet Control Message Protocol,ICMP)是一种网际报文控制协议,属于TCP/IP协议中的一种。它的功能主要是监控数据信息从源地址到目的地址传送过程中的各种情况,类似于高速公路的监控中心,可以随时检测、控制数据信息在网络传输中的情况,实时向源地址反馈数据信息能否到达目的地以及路由器是否可用等[1]。ICMP协议使用IP提供的技术支持和无连接服务,随时传输差错报告控制信息,但不能彻底解决由于网络故障和其他网络原因引起的数据传输问题[2]。所以,这种控制消息的设计就是要求在IP数据信息无法传输时提供差错报告,让发送方了解“为什么无法传递”“网络发生了什么问题”,为后续操作做好准备,它的存在对于用户的数据信息传递有十分重要的意义[3-5]。

通常大多数网络管理员都会利用ping(Packet Internet Groper)来监测网络的连通情况,但是ping命令是如何判断网络的通畅情况?ping命令将网络的连通情况向谁反馈?网络不通畅可能是什么原因?本文将搭建网络拓扑结构,并在测试连通以后,通过抓取主机1 ping主机3发送和接收的数据包,进行ICMP数据包分析[6-7]。

2 Cisco Packet Tracer模拟器

思科仿真模拟器是一款关于计算机网络技术的仿真学习平台。它可以模拟网络构建的各个实施环节,初学者通过思科仿真模拟器可以去设计、搭建网络,排除网络故障,实时观察网络的运行和连通情况,其界面友好,直接拖拽各种网络设备和连接线就可以模拟现实生活中网络搭建。

3 基于Cisco Packet Tracer模拟器搭建网络平台

3.1 深入分析ICMP协议

以三层交换机网络拓扑结构为例,既可以阐述三层交换机、路由器是如何一步步连通的,又能抓取网络拓扑结构主机之间互传信息的数据包,分析ICMP协议,见第105页图1。本研究旨在通过实时模拟网络环境,深入分析ICMP协议。

图1 三层交换机拓扑结构图

3.2 仿真实践研究

本实践研究需要3台计算机(PC1,PC2和PC3)、2台交换机(SW1,SW2)、1个路由器(R1)以及若干数据连线。其中,路由器和主机PC3需要使用交叉线连接。

利用思科仿真模拟器,配置3台主机的地址信息。将PC1的IP地址设置为192.168.10.5,子网掩码设置为255.255.255.0,网关设置为192.168.10.1;将PC2的IP地址设置为192.168.20.5,子网掩码设置为255.255.255.0,网关设置为192.168.20.1;将PC3的IP地址设置为192.168.30.5,子网掩码设置为255.255.255.0,网关设置为192.168.30.1。

配置交换机SW1。为模拟实际情况,将PC1和PC2分别划分到两个虚拟局域网中。创建两个虚拟局域网(Virtual Local Area Network,VLAN),即VLAN10和VLAN20,将端口f0/1接入VLAN10;端口f0/2接入VLAN20。由于f0/3连接交换机SW2,为了让VLAN之间互不干扰,各行其道,使用干道技术,将f0/3设置为trunk口。

配置交换机SW2。与之对应,需要将交换机SW2的f0/2也设置为trunk口。此时PC1和PC2就已经可以ping通了。但若要3台计算机都能互相ping通还需要使用“no switchport”命令,设置三层交换机SW2与路由器R1连接的f0/1接口,使其具有路由功能,并将端口f0/1的IP地址设置为192.168.3.1,子网掩码设置为255.255.255.0。

配置路由器R1。将f0/1口IP地址设置为192.168.3.2,子网掩码设置为255.255.255.0,用“no shutdown”命令打开路由开关;配置f0/0口IP地址设置为192.168.30.1,子网掩码设置为255.255.255.0,与PC3连通。最后,还要设置动态路由回路,3台计算机才能实现互通。

3.3 配置代码

1)完成配置3台主机的IP地址、子网掩码和网关等信息。

2)配置交换机SW1的命令如下。Switch>en//进入特权模式

Switch#configure terminal//进入全局配置模式

Switch(config)#vlan 10//创建vlan10和vlan20

Switch(config-vlan)#exit

Switch(config)#vlan 20

Switch(config-vlan)#exit

Switch(config)#int f0/1//将端口f0/1和f0/2分别分配到vlan10和vlan20

Switch(config-if)#switchport access vlan 10

Switch(config-if)#exit

Switch(config)#int f0/2

Switch(config-if)#switchport access vlan 20

Switch(config-if)#exit

Switch(config)#int f0/3//利用干道技术,将端口f0/3设置为trunk口

Switch(config-if)#switchport mode trunk

3)配置三层交换机SW2的命令如下。将f0/2也设置为trunk口,命令同上。创建vlan10和vlan20(同SW1创建vlan命令),为vlan10和vlan20设置地址信息。

Switch(config)#int vlan 10//为vlan10设置地址

Switch(config-if)#ip add 192.168.10.1 255.255.255.0

Switch(config-if)#exit

Switch(config)#int vlan 20//为vlan20设置地址

Switch(config-if)#ip add 192.168.20.1 255.255.255.0

Switch(config-if)#exit

此时,三层交换机已经配置完毕,PC1和PC2已经可以ping通(见图2),并且可以通过show VLAN命令查看VLAN划分的情况(见图3)。

图2 PC1和PC2的连通性测试结果

图3 交换机SW1的VLAN划分情况

将交换机SW2与路由器R1连接的端口f0/1设置为路由端口,并设置IP地址为192.168.3.1,子网掩码为255.255.255.0。

Switch(config)#int f0/1

Switch(config-if)#no switchport

Switch(config-if)#ip add 192.168.3.1 255.255.255.0

Switch(config-if)#no shutdown//打开端口

4)配置交换机R1的命令如下。分别为f0/1和f0/0配置IP地址,并打开路由开关。

Router>en

Router#configure terminal

Router(config)#int f0/1//配置路由器f0/1端口的地址信息

Router(config-if)#ip add 192.168.30.2 255.255.255.0

Router(config-if)#no shutdown//打开端口

Router(config-if)#exit

Router(config)#int f0/0//配置路由器f0/0端口的地址信息

Router(config-if)#ip add 192.168.30.1 255.255.255.0

Router(config-if)#no shutdown//打开端口

5)最后,需要为SW2和R1配置静态路由,命令如下。为SW2配置静态路由,格式为“目的地址,子网掩码和源地址”。

Switch(config)#ip route 192.168.30.0 255.255.255.0 192.168.3.2

为R1配置静态路由如下。

Router(config)#ip route 192.168.10.0 255.255.255.0 192.168.3.1

Router(config)#ip route 192.168.20.0 255.255.255.0 192.168.3.1

3.4 测试结果

由此,3台计算机全部ping通。其中,用主机PC1(192.168.10.5)ping主机PC3(192.168.30.5)是可以ping通的,测试结果见图4。

图4 PC1和PC3的连通性测试结果

如若不通,可返回步骤检查3台计算机的IP配置等问题。

4 分析ICMP协议数据报文

网络测试连通后,进入模拟状态,设置分析协议类型EDit Filters,选择ICMP协议,启动ping命令,可以动态地观察数据信息传送的每一步。抓取主机PC1向主机PC3发送或接收的数据包进行分析,见图5。

图5 抓取PC1 ping PC3的数据包

4.1 对抓取的报文进行分析

在抓取的数据包中,ICMP协议字段类型(TYPE)为8,代码(CODE)为0,这表示是ping命令发出的请求报文,见第107页图6左。而图6右的类型(TYPE)为0,代码(CODE)为0,表示这是ICMP的应答报文。Checksum(总和检验码,校验总和)表示校验整个ICMP报文。

图6 ICMP请求报文与ICMP应答报文

4.2 ICMP协议功能

ping命令基于ICMP协议,ICMP报文主要有ICMP差错报告报文、控制报文和请求应答报文3类。当收到ICMP的请求报文就必须发出应答报文。通常情况下,导致ping命令不可达主要有3类原因,分别是网络设备故障、目的地址不存在、网络拥堵或者网络传输超时未响应。

ICMP协议提供了如网络拥堵、网络设备、线路故障及请求超时等主机、路由不可达的差错报告信息。当数据信息不可达时,它向源地址提供差错报告信息,并不向沿途的路由设备提供汇报。此外,它并不能提供自身的错误信息。如果一个数据包在传送中被分成若干个小数据包,那么它也是只汇报关于第一个数据包的错误信息。

4.3 利用模拟器总结常见ping命令返回结果分析

1)目 标 超 时:“Request timed out.”。主 机 向192.168.30.5发送了4个数据包,但是都丢失了,这代表ping命令返回超时,没有收到目标主机的应答,可能网络中主机不存在或对方禁止ping命令应答等其他网络故障,见图7。

图7 目标超时

2)正常通信:“Reply from 192.168.30.5:bytes=32 time=15ms TTL=126.”。返回结果表示与目的主机可以正常通信,目的主机给予了应答,而且从应答的时间看网络状态良好,也没有丢包现象,见图8。

3)请求超时:“Reply from 183.60.15.153:请求超时.”。发出的请求超时且没有得到回复或者响应,可能出现线路故障或目的主机禁止响应ping命令等,多次尝试但依然没有建立有效连接,见图9。

4)中间设备应答但目的主机不可达:“Destination host unreachable.”。从源主机网关192.168.10.1收到的回复可以看出其没能到达目的主机。可能是目的主机不存在或者通信线路受阻,见图10。

5)其他ping命令返回结果。

unknown host:未知主机,该目的主机名DNS解析不了。这种情况下,一般要检查网卡网关的设置以及域名服务器的配置是否正确。

ping 127.0.0.1:127.0.0.1是本地回测地址,正常情况下,回测地址都能ping通,如果不能ping通,则说明本地主机网络系统不能正常运行。

no answer:无应答,如果出现这种错误信息,则说明对方主机没有正常工作或本地主机和对方主机的网络配置不正确,此外,也考虑通信线路存在故障的问题。

bad IP address:无法解析IP地址,也可能是IP地址不存在。

no rout to host:目的主机不可达,考虑网关地址的配置或路由配置不正确或者目的主机的防火墙没有关、没有开机和网卡工作不正常。

5 结束语

基于思科仿真模拟平台,结合三层交换机的网络拓扑结构实例分析ICMP的差错报告信息。搭建网络拓扑结构,3台计算机均测试通畅以后,通过抓取主机PC1向PC3发送的数据包,动态、实时地监测其在传送过程中的每一站,并对ICMP数据协议进行分析,得到常见的几种ping不通的情况,分析可能出现故障的原因,对学者研究ping命令的ICMP有很大的帮助。

猜你喜欢

IP地址交换机报文
基于J1939 协议多包报文的时序研究及应用
面向未来网络的白盒交换机体系综述
低轨星座短报文通信中的扩频信号二维快捕优化与实现
局域网交换机管理IP的规划与配置方案的探讨
浅析反驳类报文要点
更换汇聚交换机遇到的问题
基于地铁交换机电源设计思考
公安网络中IP地址智能管理的研究与思考
《IP地址及其管理》教学设计
计算机的网络身份IP地址