首页 知识 正文
文章详情

目录:

1.python paramiko模块下载

2.python 网络模块

3.网工的python之路

4.python网络编程模块

5.python network programming

6.网工学python

7.python网络工具

8.networks python

9.python网络编程视频教程

10.python模块网站

1.python paramiko模块下载

本次实验来自于知乎两位大佬:@弈心和@朱嘉盛@弈心大佬的实验主要是基于 linux 系统、思科设备或 GNS3 模拟器完成@朱嘉盛大佬考虑到当前在国内华为较为主流,也用 Windows 系统,尝试用华为的真机或者 eNSP 模拟器,把书中提及的实验做一做,方便大家学习记录,方便交流。

2.python 网络模块

首先咱们看下弈心大佬带来的思科的实验:平台工具:实验平台:Linux Centos7使用工具:EVE-ng、python 3.6.8实验拓扑:注意:书中使用了 192.168.2.0/24 ,我这里才有eve桥接的虚拟网段192.168.242.0/24来演示本次实验。

3.网工的python之路

本次实验只需要用到 Linux ,透明交换机SW(启动即可,无需配置)、LSW1(Python 第三方库 paramiko 要操控的设备。),其它 LSW未启动,后续实验再使用。

4.python网络编程模块

实验目的:用Python Paramiko 模块实现 SSH 登陆单个交换机LSW1(192.168.242.11),为其 LoopBack0 端口配置IP地址 1.1.1.1 /32配置完成后对设备进行配置保存,并退出。

5.python network programming

实验前检查检查网络连通性(PC ping 测 192.168.242.11),打开Linux,执行 ping 192.168.242.11。

6.网工学python

检查 Linux的 arp 表项,执行 arp -a 查看表项。

7.python网络工具

交换机 LSW1 上查看接口 vlanif 1 的 MAC 地址,与 win10 中 arp 表项里的 MAC 对应得上,都为 4c1f-ccf2-1fdbshow interfacevlanif 1

8.networks python

交换机 LSW1 上查看接口 vlanif 1 的 arp 表项,均能对应上show arp interfacevlanif 1

9.python网络编程视频教程

交换机 LSW1 确认 loopback 0 口不存在,存在则删除(多次实验造成)

10.python模块网站

LSW1配置初始化1.配置hostname和domain-namehostnameLSW1ipdomain-nameshiranit.com2.产生密钥,产生1024位的密钥cryptokeygenerate

rsageneral-keysmodulus10243.配置sssh的信息会话超时时间ipsshtime-out120最大认证次数ipsshauthentication-retries3启用ssh和telnet认证

linevty04transportinputsshtelnetloginlocal4.本地认证用户enablepasswod123usernamepythonprivilege15password123

PS:privilege15这么设置是为了免去登陆时输入enable密码Python 代码代码讲解,大神在书里和专栏中已逐条做了解释# import 导入模块import paramiko import

time # 定义三个字符串类型的变量 ip = 192.168.242.11 username = python password = 123# 开启SSH会话赋值给变量 ssh_client = paramiko.SSHClient()

# 开启可接收陌生的ssh服务会话 ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh_client.connect(hostname=ip, username=username, password=password, look_for_keys=

False) # 开启交互式会话 command = ssh_client.invoke_shell() print (已经成功登陆路由器 + ip) # 向路由器发出命令 command.send(

configure terminal\n) command.send(interface loop 0\n) command.send(ip add 1.1.1.1 255.255.255.255\n) command.send(

end\n) command.send(wr mem\n) # 延时5秒 time.sleep(5) # 设置截屏长度并打印出来 output = command.recv(65535).decode(

ascii) print (output) # 退出ssh会话 ssh_client.close

实验中观察开启调测(实验中可观察),执行代码过程中,可以 debug 到交互包。LSW1# debug ip packet

实验结果检查脚本跑完后,可以到 LSW1 上查看 LoopBack 0 口的 IP 地址是否已经正确的配置上了。show running-config interfaceLoopBack 0

代码运行截屏大神在书里有解释,以下做了运行脚本时是否有带 decode(“ascii”) 的效果对比。带有decode(“ascii”)的效果

不带decode(“ascii”)的效果

再来看看@朱嘉盛大佬带来的华为实验:平台工具:实验平台:WIN10使用工具:eNSP v1.3.00.100、python 3.7.3注意:1、eNSP 模拟器目前官方暂时下架了,网上不难找,据说官方在开发新的更强大的版本ing。

2、Python 用 3.9 还是 3.7 的关系不大3、如果我们从零开始的话,就先不用什么集成开发环境,先用 Python 自带的编辑器,从最简单的开启,一点一点慢慢积累沉淀实验拓扑:书中使用了 192.168.2.0/24 网段正好我自己 NAS 组网网段冲突,因而我换成 192.168.242.0/24 网段。

我自己的电脑(Win10 已安装 python 3.7.3)设置一块虚拟网卡地址为 192.168.242.1/24,桥接到云彩,与实验拓扑拉通组网本次实验只需要用到 PC ,透明交换机SW1(启动即可,无需配置)、LSW1(Python 第三方库 paramiko 要操控的设备。

),其它 LSW未启动,后续实验再使用

实验目的:用Python Paramiko 模块实现 SSH 登陆单个交换机LSW1(192.168.242.11),为其 LoopBack0 端口配置IP地址 1.1.1.1 /32配置完成后对设备进行配置保存,并退出。

实验前检查检查网络连通性(PC ping 测 192.168.242.11),打开 cmd,执行 ping 192.168.242.11。

检查 win10 的 arp 表项,打开 cmd ,执行 arp -a ,找到 接口: 192.168.242.1 — 0x10 查看表项。

交换机 LSW1 上查看接口 vlanif 1 的 MAC 地址,与 win10 中 arp 表项里的 MAC 对应得上,都为 4c1f-ccf2-1fdbdisplay interfacevlanif

1

交换机 LSW1 上查看接口 vlanif 1 的 arp 表项,均能对应上display arp interfacevlanif 1

交换机 LSW1 确认 loopback 0 口不存在,存在则删除(多次实验造成)

LSW1配置sysnameLSW1aaa# 密码明文 123local-userpythonpasswordcipher#*C>*$C`S!INZPO3JBXBHA!!local-userpythonprivilege

level3local-userpythonservice-typesshinterfaceVlanif1ipaddress192.168.242.11255.255.255.0stelnetserver

enable# 下面这条很关键,我一开始没配置这条,一直 ssh 反馈有错误# 模拟器的产品手册说这条是默认值,但测试后需要手动配置sshauthentication-typedefaultpassword。

user-interfacevty04authentication-modeaaaprotocolinboundsshPython 代码代码讲解,大神在书里和专栏中已逐条做了解释,我做的主要目标是把大神的 linux+思科设备,转成 windows + 华为设备。

import paramiko import time ip = “192.168.242.11” username = “python” password = “123” ssh_client = paramiko.SSHClient() ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh_client.connect(hostname=ip, username=username, \ password=password, look_for_keys=False)

print(“Successfully connected to “,ip) command = ssh_client.invoke_shell() command.send(“sys\n”) command.send(

“interface LoopBack 0\n”) command.send(“ip address 1.1.1.1 255.255.255.255\n”) command.send(“return\n”

) command.send(“save\n”) command.send(“y\n”) time.sleep(3) command.send(“display this\n”) time.sleep(

1) output = command.recv(65535) print(output.decode(“ascii”)) ssh_client.close()

实验中观察开启调测(实验中可观察),执行代码过程中,可以 debug 到交互包。debuggingip packet terminaldebugging

实验结果检查脚本跑完后,可以到 LSW1 上查看 LoopBack 0 口的 IP 地址是否已经正确的配置上了display current-configuration interfaceLoopBack。

0

代码运行截屏有一点折磨我比较久,提一下,关于 Python 3 中,回显内容格式为字节型字符串,于是得用 decode(),encode() 等方法来操作字符串显示,大神在书里有解释,以下做了运行脚本时是否有带 decode(“ascii”) 的效果对比。

后续:除了 Ensp 安装与使用,Python 安装与使用,第三方库 paramiko 安装与使用外,可能还有如下这些疑问,有需要则后续再交流(看本文有没人理睬我= =哈)1、关于 WIN 10 怎么配置测试的环回口?。

2、怎么手工用 Securecrt 通过 win 环回口网卡桥接【模拟器云彩】,登录及操作模拟器网元?3、虽然 telnet 是明文传输,安全性不够,但其实大量的非公网业务设备依然使用 telnet 进行管理,如何调动 telnetlib 模块来使用?(我前期有进行了尝试,发现华为 telnet 的设置可能是简化过的,然后用 telnetlib 操作后,打印全部截屏会出错,暂时还未进行梳理。

)可去知乎关注两位大佬:https://www.zhihu.com/column/c_1357111055186104320https://zhuanlan.zhihu.com/p/34932386

相关推荐
四月实战公开课丨高效公式让小白也能做出大神级项目作品
目录: 1.四月攻势 2.四月战报 1.四月攻势 全世界风靡的网课  如何进行1V1、1VN通讯?  如何用C4D做出dribbble大神作…
头像
知识 2024-06-06
Python学习教程公开课:好玩的Python
目录: 1.python入门公开课 2.python讲课视频 3.python课程入门 4.python的优质课 5.python 课程真的…
头像
知识 2024-06-06
MIT Python 公开课第三课要点-算法是怎样演进的
目录: 1.python算法课程 2.python算法教程这本书怎么样 3.python 算法导论 4.python算法基础 5.pytho…
头像
知识 2024-06-06
MIT Python 公开课第四课要点-函数也是一个对象
目录: 1.mit python 2.mit python 公开课 3.mit python凯撒密码 4.mit python作业答案 5.…
头像
知识 2024-06-06
清华教授用了12小时讲完的Python,整整311集,拿走不谢!
目录: 1.清华大学python视频 2.清华python用什么课本 3.python清华大学学生用书 4.清华大学出版社python 5.…
头像
知识 2024-06-06
自学c4d要多久才能出去工作 学习c4d建模渲染
目录: 1.自学c4d需要多久 2.学好c4d需要多久 3.c4d自学能学会么 4.自学c4d能找到工作吗 5.c4d学多久可以找工作 6.…
头像
知识 2024-06-06