Python 官方文档:入门教程 => 点击学习
前几天写了一段代码,是用来检查思科设备的端口运行状态的,只是中间有些bug或是存在安全问题,比如密码写在脚本里,对网络不可以达的设备没有进行判断并加以跳过。以下对前两天写的代码进行修改。#!/usr/bin/python from
前几天写了一段代码,是用来检查思科设备的端口运行状态的,只是中间有些bug或是存在安全问题,比如密码写在脚本里,对网络不可以达的设备没有进行判断并加以跳过。以下对前两天写的代码进行修改。
#!/usr/bin/python
from netmiko import ConnectHandler
from netmiko.ssh_exception import NetMikoTimeoutException
import time
import sys
import getpass
class CiscoNetwork():
def __init__(self,username,passWord):
self.username = username
self.password = password
def CiscoDevice(self,iplist):
self.device={'device_type':'cisco_iOS',
'username':self.username,
'password':self.password,
'ip':iplist
}
print('-'*100)
print "[+]connect to network device... %s" %(iplist)
self.connect = ConnectHandler(**self.device)
self.connect.enable()
def gethostname(self):
self.hostname = self.connect.find_prompt()
self.hostname = self.hostname.replace("#","")
print self.hostname
def show(self,cmd):
self.output = self.connect.send_command(cmd)
for self.line in self.output.split('\n'):
if 'line protocol is up' in self.line:
print (self.line)
def close(self):
if self.connect is not None:
self.connect.disconnect()
self.connect = None
if __name__ == '__main__':
print "[+] This Program is beging done......."
username = raw_input('Username:')
password = getpass.getpass()
for iplist in open("/opt/other/ip.txt"):
try:
switch = CiscoNetwork(username,password)
switch.CiscoDevice(iplist)
switch.gethostname()
switch.show('show int')
switch.close()
except (EOFError, NetMikoTimeoutException):
print ('Can not connect to Device')
--结束END--
本文标题: Python与Cisco 的事儿
本文链接: https://www.lsjlt.com/news/191718.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0