eNSP 常用功能及使用方法加例子

一、任务场景
     在本任务中,熟悉华为eNSP模拟器的基本使用,并使用模拟器自带的抓包软件捕获网络中的报文,以便更好地理解IP网络的工作原理。
二、任务列表
    掌握eNSP模拟器的基本使用方法。
    使用eNSP搭建简单的端到端网络。
    在eNSP中使用Wireshark捕获IP报文。
三、工作实施
1.eNSP 安装(略)
关于在 eNSP 中使用几个特殊设备时的操作:

1) 只要用到以下设备,都需去官网上下载相应的镜像文件

2) 例如在 eNSP 中选用 USG6000V 后,右键点击启动:

3) 启动设备后会弹出导入设备包的对话框:

4) 点击“浏览” 找到从官网上下载的镜像文件导入即可。

2.启动 eNSP
    本步骤介绍eNSP模拟器的启动与初始化界面。通过模拟器的使用将能够帮助您快速学习与掌握TCP/IP的原理知识,熟悉网络中的各种操作。
    开启eNSP后,您将看到如下界面。左侧面板中的图标代表eNSP所支持的各种产品及设备。中间面板则包含多种网络场景的样例。

    单击窗口左上角的“新建”图标,创建一个新的任务场景。
    您可以在弹出的空白界面上搭建网络拓扑图,练习组网,分析网络行为。在本示例中,您需要使用两台终端系统建立一个简单的端到端网络。
3.建立拓扑
    在左侧面板顶部,单击“终端”图标。在显示的终端设备中,选中“PC”图标,把图标拖动到空白界面上。

     使用相同步骤,再拖动一个PC图标到空白界面上,建立一个端到端网络拓扑。PC设备模拟的是终端主机,可以再现真实的操作场景。

4.建立一条物理连接

    在左侧面板顶部,单击“设备连线”图标。在显示的媒介中,选择“Copper (Ethernet)”图标。单击图标后,光标代表一个连接器。单击客户端设备,会显示该模拟设备包含的所有端口。单击“Ethernet 0/0/1”选项,连接此端口。

    单击另外一台设备并选择“Ethernet 0/0/1”端口作为该连接的终点,此时,两台设备间的连接完成。
    可以观察到,在已建立的端到端网络中,连线的两端显示的是两个红点,表示该连线连接的两个端口都处于Down状态。

5.进入终端系统配置界面

    右击一台终端设备,在弹出的属性菜单中选择“设置”选项,查看该设备的系统配置信息。

    弹出的设置属性窗口包含“基础配置”、“命令行”、“组播”与“UDP发包工具”四个标签页,分别用于不同需求的配置。

6.配置终端系统

    选择“基础配置”标签页,在“主机名”文本框中输入主机名称。在“IPv4配置”区域,单击“静态”选项按钮。在“IP地址”文本框中输入IP地址。建议按照下图所示配置IP地址及子网掩码。配置完成后,    单击窗口右下角的“应用”按钮。再单击“CLIENT1”窗口右上角的X关闭该窗口。

     使用相同步骤配置CLIENT2。建议将CLIENT2的IP地址配置为192.168.1.2,子网掩码配置为255.255.255.0。
     完成基础配置后,两台终端系统可以成功建立端到端通信。

7.启动终端系统设备

可以使用以下两种方法启动设备:
   右击一台设备,在弹出的菜单中,选择“启动”选项,启动该设备。
   拖动光标选中多台设备(如下图),通过右击显示菜单,选择“启动”选项,启动所有设备。

    设备启动后,线缆上的红点将变为绿色,表示该连接为UP状态。
    当网络拓扑中的设备变为可操作状态后,您可以监控物理链接中的接口状态与介质传输中的数据流。

8.捕获接口报文

    选中设备并右击,在显示的菜单中单击“数据抓包”选项后,会显示设备上可用于抓包的接口列表。从列表中选择需要被监控的接口。

    接口选择完成后,Wireshark 抓包工具会自动激活,捕获选中接口所收发的所有报文。如需监控更多接口,重复上述步骤,选择不同接口即可,Wireshark 将会为每个接口激活不同实例来捕获数据包。
    根据被监控设备的状态,Wireshark 可捕获选中接口上产生的所有流量,生成抓包结果。在本实例的端到端组网中,需要先通过配置来产生一些流量,再观察抓包结果。

9.生成接口流量

 可以使用以下两种方法打开命令行界面:
    双击设备图标,在弹出的窗口中选择“命令行”标签页。
    右击设备图标,在弹出的属性菜单中,选择“设置”选项,然后在弹出的窗口中选择“命令行” 标签页。
    产生流量最简单的方法是使用ping命令发送ICMP报文。在命令行界面输入ping<ip address>命令,其中<ip address>设置为对端设备的IP地址。

    生成的流量会在该界面的回显信息中显示,包含发送的报文和接收的报文。                                    生成流量之后,通过 Wireshark 捕获报文并生成抓包结果。您可以在抓包结果中查看到 IP 网络的协议的工作过程,以及报文中所基于 OSI 参考模型各层的详细内容。

10.观察捕获的报文

查看 Wireshark 所抓取到的报文的结果。

    Wireshark 程序包含许多针对所捕获报文的管理功能。其中一个比较常用的功能是过滤功能,可用来显示某种特定报文或协议的抓包结果。在菜单栏下面的“Filter”文本框里输入过滤条件就可以使用该功能。最简单的过滤方法是在文本框中先输入协议名称(小写字母),再按回车键。在本示例中,Wireshark 抓取了 ICMP 与 ARP 两种协议的报文。在“Filter”文本框中输入 icmp 或 arp 再按回车键后,在回显中就将只显示 ICMP 或 ARP 报文的捕获结果。
    Wireshark 界面包含三个面板,分别显示的是数据包列表、每个数据包的内容明细以及数据包对应的十六进制的数据格式。报文内容明细对于理解协议报文格式十分重要,同时也显示了基于 OSI 参考模型的各层协议的详细信息。

例子-配置静态路由和缺省路由

任务场景
     您是公司的网络管理员。现在公司有一个总部与两个分支机构。其中R1为总部路由器,R2、R3为分支机构,总部与分支机构间通过以太网实现互连,且当前公司网络中没有配置任何路由协议。
     由于网络的规模比较小,您可以配置通过静态路由和缺省路由来实现网络互通。IP编址信息如拓扑图所示。

拓扑图

任务列表
 配置静态路由。
 测试静态路由连通性。
 通过配置缺省路由实现本地网络与外部网络间的访问。
 配置静态备份路由。

工作实施

步骤一 基础配置和 IP 编址

  在R1、R2和R3上配置设备名称和IP地址。

R1配置

<Huawei>system view 
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname R1
[R1]interface GigabitEthernet 0/0/0
[R1 GigabitEthernet0/0/0]ip address 10.0.13.1 24
[R1 GigabitEthernet0/0/0]quit
[R1]interface GigabitEthernet 0/0/1
[R1 GigabitEthernet0/0/1]ip address 10.0.12.1 24
[R1 GigabitEthernet0/0/1]quit
[R1]interface LoopBack 0
[R1 LoopBack0]ip address 10.0.1.1 24

执行display current-configuration命令,检查配置情况。

R2配置

<Huawei>system view 
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname R2
[R2]interface GigabitEthernet 0/0/1
[R2 GigabitEthernet0/0/1]ip address 10.0.12.2 24 
[R2 GigabitEthernet0/0/1]quit 
[R2]interface GigabitEthernet0/0/2
[R2 GigabitEthernet0/0/2]ip add 10.0.23.2 24 
[R2 GigabitEthernet0/0/2]quit
[R2]interface LoopBack0
[R2 LoopBack0]ip address 10.0.2.2 24

执行display current-configuration命令,检查配置情况。

R3配置

<Huawei>system view
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname R3 
[R3]interface GigabitEthernet 0/0/0
[R3 GigabitEthernet0/0/0]ip address 10.0.13.3 24
[R3 GigabitEthernet0/0/0]quit
[R3]interface GigabitEthernet0/0/2
[R3 GigabitEthernet0/0/2]ip address 10.0.23.3 24
[R3 GigabitEthernet0/0/2]quit
[R3]interface LoopBack 0
[R3 LoopBack0]ip address 10.0.3.3 24

执行display current-configuration命令,检查配置情况。

执行ping命令,检测R1与其它设备间的连通性。

执行ping命令,检测R2与其它设备间的连通性。

步骤二 测试 R2 到目的网络 10.0.13.0/24、10.0.3.0/24 的连通性

      R2如果要与10.0.3.0/24网络通信,需要R2上有去往该网段的路由信息,并且R3上也需要有到R2相应接口所在IP网段的路由信息。
    上述检测结果表明,R2不能与10.0.3.3和10.0.13.3网络通信。
    执行display ip routing-table命令,查看R2上的路由表。可以发现路由表中没有到这两个网段的路由信息。

步骤三 在 R2 上配置静态路由

      配置目的地址为10.0.13.0/24和10.0.3.0/24的静态路由,路由的下一跳配置为R3的G0/0/0接口IP地址10.0.23.3。默认静态路由优先级为60,无需额外配置路由优先级信息。

[R2]ip route static 10.0.13.0 24 10.0.23.3                                                                                          [R2]ip route static 10.0.3.0 24 10.0.23.3

     注意:在ip route-static命令中,24代表子网掩码长度,也可以写成完整的掩码形式如
255.255.255.0。

步骤四 配置备份静态路由

      R2与网络10.0.13.3和10.0.3.3之间交互的数据通过R2与R3间的链路传输。如果R2和R3间的链路发生故障,R2将不能与网络10.0.13.3和10.0.3.3通信。
       但是根据拓扑图可以看出,当R2和R3间的链路发生故障时,R2还可以通过R1与R3通信。所以可以通过配置一条备份静态路由实现路由的冗余备份。正常情况下,备份静态路由不生效。当R2和R3间的链路发生故障时,才使用备份静态路由传输数据。
     配置备份静态路由时,需要修改备份静态路由的优先级,确保只有主链路故障时才使用备份路由。本任务中,需要将备份静态路由的优先级修改为80。

[R1]ip route static 10.0.3.0 24 10.0.13.3

[R2]ip route static 10.0.13.0 255.255.255.0 10.0.12.1 preference 80
[R2]ip route static 10.0.3.0 24 10.0.12.1 preference 80

[R3]ip route static 10.0.12.0 24 10.0.13.1

步骤五 验证静态路由

    在R2的路由表中,查看当前的静态路由配置。

      路由表中包含两条静态路由。其中,Protocol字段的值是Static,表明该路由是静态路由。Preference字段的值是60,表明该路由使用的是默认优先级。
      当R2和R3之间链路正常时,R2与网络10.0.13.3和10.0.3.3之间交互的数据通过R2与R3间的链路传输。执行tracert命令,可以查看数据的传输路径。

    命令的回显信息证实R2将数据直接发送给R3,未经过其他设备。

步骤六 验证备份静态路由

    关闭R2上的G0/0/2接口,模拟R2与R3间的链路发生故障,然后查看IP路由表的变化。

 [R2]interface GigabitEthernet 0/0/2                                                                                               [R2 GigabitEthernet0/0/2]shutdown                                                                                                   [R2 GigabitEthernet0/0/2]quit

注意与关闭接口之前的路由表情况作对比。

    在R2的路由表中,灰色所标记出的两条路由的下一跳和优先级均已发生变化。                                检测R2到目的地址10.0.13.3以及R3上的10.0.3.3的连通性。

    网络并未因为R2与R3之间的链路被关闭而中断。

    执行tracert命令,查看数据包的转发路径。

    命令的回显信息表明,R2发送的数据经过R1抵达R3设备。

步骤七 配置缺省路由实现网络的互通

    打开R2上在步骤6中关闭的接口。

[R2]interface GigabitEthernet 0/0/2
[R2 GigabitEthernet0/0/2]undo shutdown

    验证从R1到10.0.23.3网络的连通性。

    因为R1上没有去往10.0.23.0网段的路由信息,所以报文无法到达R3。

    可以在R1上配置一条下一跳为10.0.13.3的缺省路由来实现网络的连通。

[R1]ip route static 0.0.0.0 0.0.0.0 10.0.13.3

    配置完成后,检测R1和10.0.23.3网络间的连通性。

    R1通过缺省路由实现了与网段10.0.23.0间的通信。

步骤八 配置备份缺省路由

    当R1与R3间的链路发生故障时,R1可以使用备份缺省路由通过R2实现与10.0.23.3和10.0.3.3网络间通信。
    配置两条备份路由,确保数据来回的双向都有路由。

[R1]ip route static 0.0.0.0 0.0.0.0 10.0.12.2 preference 80


[R3]ip route static 10.0.12.0 24 10.0.23.2 preference 80

步骤九 验证备份缺省路由

    查看链路正常时R1上的路由条目。

    关闭R1与R3上的G0/0/0接口模拟链路故障,然后查看R1的路由表。比较关闭接口前后的路由表变化情况。

[R1]interface GigabitEthernet0/0/0
[R1 GigabitEthernet0/0/0]shutdown
[R1 GigabitEthernet0/0/0]quit
[R3]interface GigabitEthernet0/0/0
[R3 GigabitEthernet0/0/0]shutdown
[R3 GigabitEthernet0/0/0]quit

    上述路由表中,缺省路由0.0.0.0的Preference值为80,表明备用的缺省路由已生效。

    网络并未因为R1与R3之间的链路被关闭而中断。执行tracert命令,查看数据包的转发路径。

    结果显示报文通过R2(10.0.12.2)到达R3(10.0.23.3)。

配置文件

<R1>display current configuration 
[V200R007C00SPC600]
#
sysname R1
#
interface GigabitEthernet0/0/0                                                                                                shutdownip address 10.0.13.1 255.255.255.0                                                                                 #                                                                                                                                                         interface GigabitEthernet0/0/1                                                                                                         ip address 10.0.12.1 255.255.255.0 
#
interface LoopBack0
ip address 10.0.1.1 255.255.255.0 
#
ip route static 0.0.0.0 0.0.0.0 10.0.13.3                                                                                           ip route static 0.0.0.0 0.0.0.0 10.0.12.2 preference 80                                                                   ip route static 10.0.3.0 255.255.255.0 10.0.13.3                                                                            #                                                                                                                                                       user interface con 0                                                                                                      authentication mode password                                                                                                      set authentication password cipher %$%$+L'YR&IZt'4,)> *#lH",}%K oJ_M9+'lOU~bD (\WTqB}%N,%$%$user interface vty 0 4
#
return 


<R2>display current configuration 
[V200R007C00SPC600]
#
sysname R2
interface GigabitEthernet0/0/1                                                                                                         ip address 10.0.12.2 255.255.255.0 
#
interface GigabitEthernet0/0/2                                                                                                         ip address 10.0.23.2 255.255.255.0                                                                                               #                                                                                                                                                  interface LoopBack0                                                                                                                        ip address 10.0.2.2 255.255.255.0                                                                                                  #                                                                                                                                                       ip route static 10.0.3.0 255.255.255.0 10.0.23.3                                                                              ip route static 10.0.3.0 255.255.255.0 10.0.12.1 preference 80                                                        ip route static 10.0.13.0 255.255.255.0 10.0.23.3                                                                           ip route static 10.0.13.0 255.255.255.0 10.0.12.1 preference 80
#
user interface con 0
authentication mode password                                                                                                      set authentication password cipher %$%$1=cd%b%/O%Id 8X:by1N,+s}'4wD6TvO<I|/pd# #44C@+s#,%$%$user interface vty 0 4                                                                                             #
return


<R3>display current configuration 
[V200R007C00SPC600]
#
sysname R3
#
interface GigabitEthernet0/0/0                                                                                                    shutdownip address 10.0.13.3 255.255.255.0                                                                                 #                                                                                                                                                         interface GigabitEthernet0/0/2                                                                                                          ip address 10.0.23.3 255.255.255.0 
#
interface LoopBack0
ip address 10.0.3.3 255.255.255.0 
#
ip route static 10.0.12.0 255.255.255.0 10.0.13.1                                                                               ip route static 10.0.12.0 255.255.255.0 10.0.23.2 preference 80                                                    #                                                                                                                                                   user interface con 0                                                                                                                 authentication mode password                                                                                                       set authentication password cipher %$%$ksXDMg7Ry6yUU:63:DQ),#/sQg"@*S\U#.s.bHW xQ,y%#/v,%$%$                                                                                                                           user interface vty 0 4

return

### 使用Python在ENSP中实现网络自动化 #### 安装必要的库 为了能够在ENSP环境中利用Python进行网络设备管理,需要安装特定的Python库。这包括但不限于`paramiko`用于SSH连接以及可能涉及其他操作所需的依赖项。 - **安装Python3**: 确认操作系统已预装最新版本的Python3。 - **安装pip工具**: pip是Python包管理系统, 用来方便地安装第三方软件包。 - **安装Paramiko模块**: Paramiko是一个实现了SSHv2协议的纯Python客户端和服务器端库[^1]。 ```bash sudo apt-get update && sudo apt-get install python3-pip pip3 install paramiko ``` #### 构建实验环境 构建一个模拟的真实世界网络拓扑结构对于测试非常重要。此过程通常涉及到设置路由器、交换机以及其他组件之间的通信路径,并确保这些节点能够相互通信。 - **桥接电脑网卡**: 创建虚拟网络适配器并将其实例化为物理主机上的接口之一,以便于与仿真平台内部创建出来的各个逻辑单元建立联系。 - **配置交换机IP地址**: 给定静态IP给每台参与交互的交换机实例,从而允许远程管理和数据传输。 - **验证连通性**: 利用ping命令或其他方法确认各实体间可以正常收发报文;同时也要检查SSH服务是否开启并可访问。 #### 编写Python脚本来操控网络设备 一旦前期准备工作完成之后就可以着手准备具体的业务逻辑了。下面给出一段简单的例子来展示怎样借助上述提到过的`paramiko`去获取一台思科系列交换机当前运行状态下的配置信息: ```python import paramiko def get_switch_config(ip_address, username='admin', password='password'): try: client = paramiko.SSHClient() client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # Connect to the switch via SSH client.connect(hostname=ip_address, port=22, username=username, password=password) stdin, stdout, stderr = client.exec_command('show running-config') config_output = stdout.read().decode() with open(f'{ip_address}_config.txt', 'w') as file: file.write(config_output) print(f'Configuration saved from {ip_address}') except Exception as e: print(e) finally: client.close() if __name__ == '__main__': target_ip = "192.168.0.1" get_switch_config(target_ip) ``` 这段代码展示了如何通过SSH登录至目标交换机读取其正在使用的配置参数,并将其保存成文本文件形式存放在本地磁盘上以备后续分析处理之需[^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸟啄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值