问题标签 [cisco-ios]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
194 浏览

cisco - 思科监控目标端口

在 CISCO 3750 交换机上使用 session monitor 命令:

监控会话 1 目标接口 fastethernet /

我们能否将所需流量重定向到已经拥有实时服务实时流量的接口?或者目标端口不能被实时服务使用?

提前谢谢。

0 投票
1 回答
425 浏览

network-programming - NETCONF - IOS XE - 16.04.01 cli-config-data 抛出错误

我正在尝试在 IOS XE 16.04.01 中使用 NETONF RPC 执行 CLI 命令。我从设备 CLI“显示 netconf 架构”中获得了 NETCONF RPC 的架构。下面是特定于编辑配置的架构,

在架构中可以看到。我尝试执行以下 RPC,但它作为 cli-config-data 引发错误。如何使用 NETCONF for IOS XE 执行 CLI 命令?

RPC 请求

RPC 回复

0 投票
3 回答
7279 浏览

python - Python Telnet 脚本

感谢Python 库,我能够使用他们的示例远程登录到 Cisco 交换机,我将其用于学习目的,特别是学习 python。

但是,尽管所有代码看起来通常都很容易阅读,但我对以下内容有点困惑:

1- 为什么使用下面的 if 语句 2- 为什么在用户名和密码写入方法之后使用“\n” 3- 当更改实际上已提交并成功时,为什么我没有在我的 bash 终端上得到输出

我不确定为什么要使用上面的 if 语句,通常在输入用户名后,您会立即收到密码提示。为什么我们不能只输入:

至于第二点,如果我们要在添加后按回车,为什么要在 write 方法中的密码和用户名后面使用'\n'?

0 投票
1 回答
4606 浏览

python - 使用python备份路由器配置

我使用 python 和 paramiko。我正在尝试使用 python 备份网络设备路由器。下面是我的脚本。但是我收到错误

0 投票
1 回答
92 浏览

python-2.7 - 使用 python 2.7 进行远程访问

我正在使用 python 脚本使用 SSH 或 telnet 访问 cisco 交换机 .. 我正在使用模块 pexpect .. 连接完成。我的问题是,当我想显示所有配置时

telconn.sendline("sh 运行" + "\r")

我看不到所有配置,因为我在使用 --more-- 时遇到了问题。那么我该如何避免这种情况以及我可以做些什么来查看所有配置

0 投票
1 回答
1139 浏览

python - Python - 捕获 sh 命令的输出,获取 IP 地址并运行 ping

下面是我的工作代码,用于在 Cisco 路由器上显示我的路由器 arp 表。

我手头有一项任务,要求我从“sh arp”命令的输出中读取特定值,并将其用作要在 Cisco 路由器上执行的另一个命令的输入。

路由器中的命令:

1- sh arp vrf 互联网 | 公司 0835.71

2- ping vrf 互联网 100.124.162.230**

我已经完成了第 1 步。我可以得到输出,但我需要 hep 来完成第 2 步,以捕获 IP“100.124.162.230 对其运行 ping。

print(" ping NMD....")

输出:

ra>sh arp vrf 互联网 | INC 0835.71 互联网 100.124.162.230 74 0835.71ef.d0a1 ARPA GigabitEthernet0/0.901

2-下一步是获取IP并对其运行ping,请帮助。

我提取了我的 IP 地址,现在我想对提取的 IP 运行 ping,我如何在 python 中执行此操作。请帮忙 ..

ra>sh arp vrf 互联网 | inc 0835 互联网 100.114.162.230 110 0835.71ef.d0a1 ARPA GigabitEthernet0/0.901 ra.> ['100.114.162.230']

0 投票
1 回答
380 浏览

ip - 插入字符 Cisco IOS EEM 脚本

我正在提取接口的 IP 地址,并将该地址的第 3 个八位字节用作 BGP AS 编号的一部分。如果第 3 个八位字节 < 10,我需要在数字前插入一个 0。例如,如果第 3 个八位字节 = 8 ,则 BGP AS = 111 08

这是我当前和未完成的小程序。

0 投票
1 回答
2303 浏览

ansible - Ansible 在字符串匹配时打印 IOS 输出

我正在尝试使用 Ansible 连接一堆(100 多台)Cisco Catalyst 交换机并检查它们是否安装了某个线卡。通过 SSH,这可以使用“sh mod”命令来完成。我想在剧本中解析该命令的输出,然后在某个字符串匹配时显示该命令的输出。现在使用下面的剧本,我收到以下错误:

致命:[编辑主机名]:失败!=> {"failed": true, "msg": "条件检查 'showmod | search(\"4548\")' 失败。错误是:在 ({% if showmod | search(\ "4548\") %} True {% else %} False {% endif %}): 预期的字符串或缓冲区\n\n错误似乎在 '/etc/ansible/playbooks/linecard-4548.yaml' 中:第 22 行第 5 列,但可能\n位于文件中的其他位置,具体取决于确切的语法问题。\n\n有问题的行似乎是:\n\n\n - 调试:\"msg='4548 Card Found'\ "\n ^ 这里\n"}

当前剧本代码:

我已经when在调试中尝试过,无论是否.stdout都无济于事。我做了一些研究,我得到的错误通常发生在我的情况下,showmod是未定义的,但它肯定是。如果我用以下代码段替换调试,则剧本运行良好,但当然它会为每个不是我想要的开关打印输出。

有什么建议么?

0 投票
1 回答
194 浏览

python - 使用 mako 生成 Cisco 配置。是否可以在模板中使用 netaddr 模块(或任何模块)?

我对 python 和 mako 很陌生,我可能在基本概念上遇到了麻烦。我有工作模板,但如果我可以使用 netaddr 模块来处理模板中的 IP 地址,我的 CSV 输入可以被大量清理。我想要做的是将一个接口 IP 变量,如: LAN_IP = '192.168.1.1/24' (我从 CSV 执行此操作)到模板,然后以某种方式使用 netaddr 模块填写 IP、子网掩码(点分十进制和反掩码)和网络地址,所以我可以在相同的配置中将那个 CSV 变量用于 bgp 网络语句、eigrp 掩码和 ACL 等。我可以从 Python shell 执行以下操作:

编辑。有人告诉我尝试使用内置功能的 ipaddress。从 Python 提示符尝试这个表明它可以工作:

这给了我以下输出:!变量输入:192.168.1.1/25 192.168.1.1 255.255.255.128 192.168.1.0/25 0.0.0.127

现在,一个新问题是 ipaddress.IPv4Interface(ip_string).network 定义返回网络加上 netaddr 没有做的子网“192.168.1.0/25”。我还没有找到任何方法让 ipaddress 只返回子网部分。

所以对于模板构建,我走得更远了......如果我只把这个放到模板中,它会验证:

但是,当我尝试任何类型的参考时,都会出现错误。

在我看来,我在这里遗漏了一些非常简单的东西,但也许我以错误的方式解决了这个问题。任何帮助都将不胜感激,因为 Mako 文档和谷歌几乎没有出现来说明如何做这样的事情。

0 投票
1 回答
59 浏览

monitoring - cisco:调试命令写一个只读的snmp oid?

我想在 cisco 886va-w 上编写一个只读的 snmp oid 来测试一个名为 librenms 的网络管理系统。是否有任何调试命令可用于此目的?oids 属于一些错误计数器,但目前没有错误,因此 librenms 中的图形不显示任何活动。