【发布时间】:2014-05-13 05:59:39
【问题描述】:
使用下面的代码,我从包含 IP 地址列表的文本文件中获取 IP 地址。然后通过 SSH 连接到 Cisco 路由器以进行所有设备通用的更改。然而,这一次我必须进行本质上可变的更改。
示例:
我必须获取 IP 地址 (10.120.15.1) 和 SSH 到设备并应用以下命令
“访问列表 150 允许 ip 10.120.15.0 0.0.0.255 主机 10.100.100.1”
IP 地址已经包含在变量“line”中,我必须拆分最后一个八位字节并将其从“1”更改为“0”,然后插入到访问列表中。
请分享您的意见。
import paramiko
import sys
import os
import time
import cmd
buff = ''
resp = ''
with open('Address.txt', 'r') as f:
for line in f:
line = line.strip()
dssh = paramiko.SSHClient()
dssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
dssh.connect(line, username='cisco', password='cisco')
chan = dssh.invoke_shell()
chan.send('conf t\n')
time.sleep(1)
resp = chan.recv(9999)
chan.send('access-list 150 permit ip X.X.X.X 0.0.0.255 host 10.100.100.1\n exit\n')
time.sleep(1)
resp = chan.recv(9999)
dssh.close()
【问题讨论】:
-
有一个
ipaddress模块,但它是在Python 3.3 中引入的。
标签: python-2.7 ip-address