⑴ python 怎么登录交换机
用telnet的方式登陆应该可以吧?
⑵ python可以批量修改交换机配置吗
用python写的,主要是telnetlib库的应用,华为交换机批量修改端口配置,把已经UP的端口做一个port sec的mac sticky绑定,DOWN的端口,就clear配置信息。
⑶ 怎样根据交换机端口号进行排序,用python的话
importre
file=open(r'D:66.txt','r')
file=[l.split()forlinfile.read().split(' ')]
files=[[row[i]foriinrange(0,6)if(i!=1)and(i!=2)and(i!=3)and(i!=5)and(i!=6)]forrowinfile]
defsort(files):
forkinrange(len(files)):
files[k][0],files[k][1]=files[k][1],files[k][0]
sorted(files,key=lambdax:int(re.match(r'(Eth0/0/(d+))',x).group(1)))
forkinrange(len(files)):
files[k][0],files[k][1]=files[k][1],files[k][0]
sort(files)
foriinfiles:
printi
作者:Valor
链接:https://www.hu.com/question/39827151/answer/83278996
来源:知乎
着作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
⑷ python paramiko通过SSH登录交换机不执行ssh.exec_command("show run")命令
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('10.111.43.18',22,'root','12345',timeout=5)
stdin, stdout, stderr = ssh.exec_command('cd /root/epoll/')
stdin, stdout, stderr = ssh.exec_command('pwd')
上边的代码输出应该是 /root/epoll/,但结果却是 /root ,即使用root登陆的缺省目录
原因是exec_command为单个会话,执行完成之后会回到登录时的缺省目录
修改为这样执行结果则为预期的 /root/epoll 目录
stdin, stdout, stderr = ssh.exec_command('cd /root/epoll/;pwd')
⑸ python新手求教,关于paramiko连接交换机输出文件显示问题.
看文件中的格式,有b'这种字符,说明取到的数据为字节类型数据,需要进行解码,才可以当成字符串写入文件,那样就可以像终端中的样子了。
下面有个简单的解码示例:
>>>a=b'aaa '
>>>print(a)
b'aaa '
>>>a.decode()
'aaa '
>>>b=a.decode()
>>>b
'aaa '
>>>print(b)
aaa
>>>
⑹ 为什么大学又要学数据库又要学Python还要学交换路由,这样真的能学到东西吗
大学里安排课程需要考虑多个方面,比如当前社会基本需要、当前热门专业及未来发展趋势等。
数据库是学习软件开发类必须掌握的;
Python是开发语言,目前也是比较热的开发语言;
交换机,路由器是网络硬件环境;
一套完整的系统运行起来,你仔细想想,其实会关联许多专业和知识。
学校是希望基本面都点到,引领大家去入门,具体专攻学习方向,可以自己在之后的学习工作中去专攻。
⑺ python可以写交换机和路由器的脚本语言吗
交换机路由器多数是类UNIX平台,完全可以用python编译,python兼容性非常广
⑻ python 正则表达式 交换机接口配置匹配问题
python3.6我运行了一下,每个分组都只有最开始一个,后面都是空:
[('FastEthernet0/46','','',''),('FastEthernet0/47','','',''),('FastEthernet0/48','','',''),('GigabitEthernet0/1','','','')]
所以再检查一下你贴的代码是不是最新
⑼ 我想用python脚本telnet电脑Ensp里的交换机,但是没效果,也没报错,是有什么问题吗求解答
1、在备份配置之前进行ping操作,所有IP地址放在HW_IP_List.txt中,ping通的地址放到HW_IP_True.txt中,ping不通的地址放到HW_IP_False.txt中。
脚本文件icmp_reply.py
#!/usr/bin/python
# -*- coding:gb2312 -*-
#import tab
import time,os
start_time = int (time.time())
def hw_ping_test():
ips = open('HW_IP_List.txt','r')
ip_True = open('HW_IP_True.txt','w')
ip_False = open('HW_IP_False.txt','w')
count_True,count_False=0,0
for ip in ips.readlines():
ip = ip.replace('\n','')
return1= os.system('ping -n 1 -w 1 %s'%ip)
if return1 :
print 'ping %s is fail'%ip
ip_False.write(ip+'\n')
count_False += 1
else:
print 'ping %s is ok'%ip
ip_True.write(ip+'\n')
count_True += 1
ip_True.close()
ip_False.close()
ips.close()
end_Time = int(time.time())
print "time(sencond):",end_Time - start_time,"s"
print "ping OK IP:",count_True," ping False IP:",count_False
hw_ping_test()
2、编辑核心脚本,调用icmp_reply.py,程序执行时会先自动运行icmp_reply.py,调用生成的HW_IP_True.txt文件,先要选择设备类型,然后选择执行的动作,输入TFTP服务器地址,程序就开始执行选择的相应的动作。
⑽ python的paramiko模块 支持连接交换机吗
paramiko使用
paramiko模块是基于python实现了SSH2远程安全连接,支持认证和密钥方式,可以实现远程连接、命令执行、文件传输、中间SSH代理功能
安装
pip install paramiko
或 easy_install paramiko
paramiko依赖第三方的Crypto,Ecdsa和pyhton-devel,所以需要安装
paramiko核心组件
SSHClient类
SSHClient类是SSH服务会话的高级表示,该类实现了传输、通道、以及SFTP的校验、建立的方法
connect 方法
connect方法实现了远程ssh连接并作校验
hostname 连接的目标主机
port=SSH_PORT 指定端口
username=None 验证的用户名
password=None 验证的用户密码
pkey=None 私钥方式用于身份验证
key_filename=None 一个文件名或文件列表,指定私钥文件
timeout=None 可选的tcp连接超时时间
allow_agent=True, 是否允许连接到ssh代理,默认为True 允许
look_for_keys=True 是否在~/.ssh中搜索私钥文件,默认为True 允许
compress=False, 是否打开压缩
sock=None,
gss_auth=False,
gss_kex=False,
gss_deleg_creds=True,
gss_host=None,
banner_timeout=None
参数
exec_command方法
远程执行命令的方法,该命令的输入与输出流为标准输入、标出输出、标准错误输出
command 执行的命令
bufsize=-1 文件缓冲区大小
timeout=None
get_pty=False
参数
load_system_host_key方法
夹在本地公钥文件,默认为~/.ssh/known_hosts
filename=None 指定本地公钥文件
参数
set_missing_host_key_policy方法
设置连接的远程主机没有本地主机密钥或HostKeys对象时的策略,目前支持三种:
用法:
set_missing_host_key_policy(paramiko.AutoAddPolicy())
AutoAddPolicy 自动添加主机名及主机密钥到本地HostKeys对象,不依赖load_system_host_key的配置。即新建立ssh连接时不需要再输入yes或no进行确认
WarningPolicy 用于记录一个未知的主机密钥的python警告。并接受,功能上和AutoAddPolicy类似,但是会提示是新连接
RejectPolicy 自动拒绝未知的主机名和密钥,依赖load_system_host_key的配置。此为默认选项
SFTPClient类
SFTPCLient作为一个sftp的客户端对象,根据ssh传输协议的sftp会话,实现远程文件操作,如上传、下载、权限、状态
from_transport(cls,t) 创建一个已连通的SFTP客户端通道
put(localpath, remotepath, callback=None, confirm=True) 将本地文件上传到服务器 参数confirm:是否调用stat()方法检查文件状态,返回ls -l的结果
get(remotepath, localpath, callback=None) 从服务器下载文件到本地
mkdir() 在服务器上创建目录
remove() 在服务器上删除目录
rename() 在服务器上重命名目录
stat() 查看服务器文件状态
listdir() 列出服务器目录下的文件
远程连接并执行命令
实现远程连接主机,并执行命令,同时记录日志
* 直接验证方式