python 获取设备的接口信息

前提条件: 你需要拥有一台或者两台能够SSH登录的路由器!

导入并使用Lab9制作的ping模块(可以适当修改)和Lab10制作的SSH模块(可以适当修改)制作一个函数,你可以同时传入多个IP地址,首先尝试Ping这个路由器,如果能Ping通!就登陆此设备采集接口信息,如果不能Ping通就跳过此设备

import lab_ssh
import lab_ping
import re
from pprint import pprint



def get_info(ip_list, username, passwd, cmd='dis ip int br'):
    router_dic = {}
    for ip in ip_list:
        if not lab_ping.ping(ip):
            print(ip + '网络不可达')
        else:
            info = lab_ssh.ssh(ip, 'user1', '12345678')
            ssh_result = re.search('Interface +IP +Address/Mask +Physical +Protocol[\s\S]+', info).group().split(
                '\r\n')[1:-1]
            ssh_dic = {}
            for i in ssh_result:
                if 'unassigned' not in i:
                    ssh_info = re.split(' +', i)
                    ssh_dic[ssh_info[0]] = ssh_info[1]
            router_dic[ip]=ssh_dic
    return router_dic

if __name__ == '__main__':
    ip_list = ['192.168.80.1', '192.168.80.101', '192.168.80.102']
    result = get_info(ip_list, 'user1', '12345678')
    pprint(result)

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值