python没网可以运行吗_网络工程师就算没有真机,也可以在ensp模拟器上玩python编程自动化!...

原标题:网络工程师就算没有真机,也可以在ensp模拟器上玩python编程自动化!

网络工程师阿龙

圈内最早的公益 公众号,本号已认证!学网络关注我一个就够了(关注近6w+)

关注

听说 99%的 网工都来这里充电吖

关注我,一个老HCIE(编号3558)带你轻松玩网络技术!

交个朋友,一起和一个技术狂热者相互交流,共同成长!

前面几期我们分享过利用Telnetlib、Netmiko模块来实现登录交换机修改配置,本期我们再介绍一个模块,叫Paramiko模块,这回我不打算用真机的,改用 ensp模拟器试试看,这样大家也可以在没有真机的情况下,也能练练python自动化编程,体验一下,一旦成功了,相信你会对编程越来越感兴趣的。还有一点值得提醒的就是后续如果学更多编程知识,在没有测试机的情况下,不建议直接拿生产网来测试,也应该先用ensp等模拟器,多测试几遍,代码多推敲几遍,避免人为失误,导致网络故障,不然你的年终奖就要泡汤啦!

9e8ee20b8c224cb5f91745a4681c9626.png

7618e6b2290f5fef767d97ca56e3d3df.png

a7f8c65e7a6c923a60a180040fd6ed83.png

一、安装Paramiko模块

同样,由于Paramiko也是第三模块,所以我们需要在电脑上安装一下。

在CMD,输入命令:pip3 install paramiko

b6ee2de842f9272577cab85c53a18ec3.png

2ed229311f029e48212456ccadd2e8b3.png

然后进入python 解释器,输入:import paramiko

如果没有报错,就说明安装没问题啦!

33bd1e9efe1f9c82045b32387147f3c7.png

ok,接下来,我们来说搭个简单环境,以后再搭批量的。

二、搭建实验环境

1、用模拟器上桥接台式电脑的网卡:

8c5d73a5d11794bc4593668187e79f55.png

(看不清楚,可单击放大查看)

2、连线,配置交换机IP地址。

5e6196acf493fa995da0f5f6566f44cf.png

sys

[Huawei]sys SW1

[SW1]

[SW1]vlan 10

[SW1-vlan10]qu

[SW1]

[SW1]int Vlanif 10

[SW1-Vlanif10]ip add 192.168.56.100 24

[Huawei-Vlanif10]undo shu

[SW1]int g0/0/1

[SW1-GigabitEthernet0/0/1]port link-type access

[SW1-GigabitEthernet0/0/1]port default vlan 10

欢迎关注网络工程师阿龙原创文章。

测试一下 ensp上的交换机与台式电脑的连通性:

5c95aa47fc652aa79a6f3c78faaa17cb.png

5386bdda3895a9e743fa6f48d6085a5c.png

3、交换机上配置SSH

[SW1]dsa local-key-pair create

Info: The key name will be: SW1_Host_DSA.

Info: The key modulus can be any one of the following : 512, 1024, 2048.

Info: If the key modulus is greater than 512, it may take a few minutes.

Please input the modulus [default=512]: 2048

Info: Generating keys...

[SW1]user-interface vty 0 4

[SW1-ui-vty0-4]authentication-mode aaa

[SW1-ui-vty0-4]protocol inbound ssh

[SW1-ui-vty0-4]

[SW1]aaa

[SW1-aaa]local-user along password cipher along123

[SW1-aaa]local-user along privilege level 15

[SW1-aaa]local-user along service-type ssh

[SW1-aaa]

[SW1]ssh user along authentication-type password

[SW1]ssh user along service-type stelnet

[SW1]stelnet server enable

用CRT验证一下,是否可以登录了:

376a03d4b57d34e2e4bd6f98a6f2725a.png

8320bac6dda763f95b0882a1f4e0f4ad.png

b2eb3187ae5fcebd952917f248cd3380.png

5724d2e206d012e32158b0772b8c22a9.png

b14d6b45a251d992139cb4a19dd28223.png

ok,CRT都能正常ssh登录,那么待会我们写脚本登录方面也就没问题了。

三、Python脚本代码

我喜欢在Geany编辑器上写代码,想知道怎么安装的,也可以参考我之前的文章。

Python安装教程(推荐一款不错的Python编辑器)

import paramiko

import time

ip = "192.168.56.100"

user = "along"

pw = "along123"

#欢迎关注网络工程师阿龙

ssh = paramiko.SSHClient

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy)

ssh.connect(hostname=ip, username=user , password=pw)

print("恭喜您成功登录到ensp模拟器上的交换机了!" , ip)

#连接成功后,调用invoke_shell方法来唤醒shell,也就是华为系统命令行,同时把它赋值给command,方便后续调用。

command = ssh.invoke_shell

#向设备发送命令,需要执行的命令。

command.send("system\n")

command.send("vlan 20\n")

command.send("quit \n")

command.send("int vlan 20 \n")

command.send("ip add 192.168.20.200 24 \n")

command.send("quit")

command.send("quit")

#欢迎关注网络工程师阿龙

#使用sleep函数,让脚步执行后休息2s,再回显内容。65535是回显多少个字符

time.sleep(2)

output = command.recv(65535)

print(output.decode("ascii"))

#配置完后,用close方法退出ssh欢迎关注网络工程师阿龙

ssh.close

上述代码编写完后,在执行前,我们先看看交换机上,目前还没有vlanif 20的接口及ip地址:

8f64e837fa1a19bbc95843d15bc20b4d.png

现在,我们先执行以下python脚本,待会你会发现,真的多出来了。

eea239e6afd226dc71c585ed5f08c7ed.png

40ec09df34ed5216ad118b8dd8911f5e.png

欢迎关注网络工程师阿龙原创文章。

脚本执行成功,我们之间登录ensp模拟器上的交换机,确认一下配置是否真的多这一条配置了?

d194909756f42a0d5c3392ab254a1e62.png

果然配置成功了吧! 是不是瞬间觉得编程很好玩?是不是觉得网络工程师玩编程没什么难度,so easy!返回搜狐,查看更多

责任编辑:

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值