问题标签 [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 投票
1 回答
110 浏览

perl - 显示部分配置(--更多)

我制作了连接到我的交换机的脚本,但问题是当查看它时只显示部分内容,其余部分显示为大小(--更多)。我该怎么做才能查看所有配置,谢谢

我已经用 Expect 模块尝试过这个:

产生此错误:

无法在 /usr/local/share/perl5/Expect.pm 第 202 行 (#1) (F) 祝福非参考值 (F) 只能祝福硬引用。这就是 Perl 如何“强制”封装对象。参见 perlobj。用户代码中未捕获的异常:Can't bless non-reference value at /usr/local/share/perl5/Expect.pm line 202. at /usr/local/share/perl5/Expect.pm line 202. Expect::exp_init ("期待", "\x{d}\x{a}witch>enable\x{d}\x{a}密码:\x{d}\x{a}switch#show vlan\x{d} \x{a}\x{d}\x{a}VLA"...) 在 b.pl 第 19 行调用"

0 投票
1 回答
5031 浏览

password-recovery - Cisco 2911 - 密码恢复功能已禁用。需要重置为默认值

编辑 - 解决方案是在新格式化的闪存卡上使用不同的 IOS 版本。由于 IOS 不匹配,这会强制配置退出路由器。从这里开始,您将可以自由地进行任何配置,因为路由器将被擦除。

我正在尝试恢复我的 2911 路由器。我擦除了它的配置,它又回来要求输入启用密码。它应该有 cisco/cisco 密码,并且应该让您可以选择更改它们。好像这被跳过了。我认为这没什么大不了的,但它似乎已经有效地阻止了我的路由器。移除闪存会导致启动循环,如下所示:

也试图在启动时打破似乎没有做任何事情。我正在使用腻子,中断顺序应该是 Ctrl/Break。查看 putty 的日志显示它实际上是在发送中断序列。

如果我允许路由器启动,它将尝试 tftp 到 255.255.255.255 地址,这清楚地表明它没有配置。我的问题是是否有办法重置路由器,或者是否有一个配置文件可以放到闪存上,允许我启动到实际配置。

与往常一样,非常感谢任何帮助。

非常恭敬,

亚当沃克

0 投票
1 回答
796 浏览

tcl - 期望脚本帮助 - 从发送命令捕获数据

我编写了一个脚本,如果有足够的可用空间,则将 IOS 文件发送到我的 cisco 设备,如果没有足够的可用空间 - 删除一个文件,直到有。除非 IOS 恰好在一个目录中,否则这一切都很好。

伪代码:

实际代码:

这是“发送目录/递归”的输出示例

当我打印出我的数组时,我只有一个值 flash:/testfolder/c3560-ipservicesk9-mz.120-2.SE7.bin"

我的算法显然是错误的,如何解析这些数据?

编辑-

这是我最终得到的代码,尽管 DINESH 的代码也可以

0 投票
2 回答
1131 浏览

powershell - 通过 plink 向 Cisco 路由器发送复杂的多行命令 = 无法解释的行为

我正在尝试以相对简洁的方式完成以下代码部分(以插入更大的脚本)。以这种方式发送多个命令我没有任何问题。但是,有些东西会导致多行命令最终阻塞。Cisco 命令的语法似乎是正确的。我不确定我是否遇到了某种字符限制,或者我是否需要转义 中的特定字符$showintstatusCommands,但我尝试的任何方法似乎都不起作用。

这段代码:

当我揭示变量的内容时,会产生以下内容。$ShowIntstatusCommands当它在本地回显时似乎是正确的。请注意,第 3 行的结尾被切断(末尾缺少数字 2 字符)。此外,下一行是上一行的一些奇怪的残差,它以 . 开头$nclude

0 投票
1 回答
87 浏览

networking - “set”命令在cisco交换机中有效吗?

我试图更改 cisco 交换机上的默认端口优先级,但由于检测到无效输入而出现错误。有人可以解释这段代码中的错误吗!

0 投票
1 回答
603 浏览

python - 在 Cisco CLI 上运行 Python 脚本时面临的问题

我正在尝试编写一个 Python 脚本以在 Cisco 交换机的一个接口上启用端口安全并将它们绑定到一组 MAC_addresses,其中我将以下内容作为用户的输入:

  1. 要添加的 MAC 地址数量
  2. 要添加的 MAC 地址。

我的代码如下:

当我传递必须连接字节和字符串的命令时(转换为字节后,我的 Cisco CLI 无法识别这些命令。例如,我的 Cisco CLI 在通过脚本时未采用以下 2 个命令:

但是,在通过以下命令时使用身份验证密码非常好:

当我的字符串命令(转换为字节)与字符串用户输入(也转换为字节)连接时,我遇到了一些问题,如上所示。

请指导我,在这种情况下,通过 Cisco CLI 传递命令的正确方法应该是什么。

0 投票
5 回答
6322 浏览

python - How to parse Cisco IOS output into an object or JSON

Right now, I can get nearly what I want with a simple re.split("\n([^\s])", data) as shown below, but the problem is that the resulting list contains the single non-whitespace character match as it's own item in the list. Example output below script. Notice how the "V" in "VLAN" has been captured into this as it's own item?

I'm wondering also if there's just a better way to do this, perhaps a library I can include that handles converting tabular data into a dictionary or something.

Output:

['', 'V', 'LAN Name Status Ports', '-', '--- -------------------------------- --------- -------------------------------', '1', ' default active Fa0/2, Fa0/3, Fa0/4, Fa0/5, Fa0/6, Fa0/7\n
Fa0/8, Fa0/9, Fa0/10, Fa0/11, Fa0/12\n
Fa0/13, Fa0/14, Fa0/15, Fa0/16, Fa0/17\n
Fa0/18, Fa0/19, Fa0/20, Fa0/21, Fa0/22\n
Fa0/23, Fa0/24, Gi0/2', '1', '002 fddi-default
act/unsup', '1', '003 token-ring-default act/unsup', '1', '004 fddinet-default act/unsup', '1', '005 trnet-default act/unsup\n']

Thanks!

Edit: lines = re.findall(".*[^\n\W]*", data) seems like it's probably a better approach (nm that doesn't work, sorry) but this whole thing still feels pretty hacky so I'd love to hear any alternative suggestions.

0 投票
1 回答
536 浏览

python - 执行 Cisco Python 脚本的问题

运行以下我从 stackoverflow 下来的脚本,登录到连接到控制台服务器的 Cisco 交换机,然后发出“sh run”命令。

Python 新手,所以当我运行脚本时,我得到以下输出。

有什么想法吗?

0 投票
1 回答
712 浏览

cisco-ios - 在交换机中寻找特定的mac地址

我使用 Packet Tracer 6.0.1 来实现一个实验室,并尝试查找命令以在交换机中查找特定的 mac 地址。

我已经尝试了所有这些但没有成功

#‎显示mac地址表地址0254.008c.259e

#‎显示 mac 地址表地址 | 包括 0254.008c.259e

#‎sh mac-address-table | 包括 0254.008c.259e

#sh mac 添加dy | 公司 259e

#sh mac 添加dy | 公司 .259e

不,感谢您的帮助!

0 投票
1 回答
869 浏览

port - Cisco 交换机 2960-x 上基于 DHCP 服务器端口的地址分配

我正在尝试在 Cisco 2960-x 交换机上配置 DHCP 服务器以实现基于端口的地址分配。我希望分配给连接到该端口的任何设备的 IP 地址每次都相同。

我使用以下指南来实现这一点: http ://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst2960/software/release/12-2_55_se/configuration/guide/scg_2960/ swdhcp82.html#wp1320905

此处详细解释了使用的命令: http ://www.cisco.com/c/en/us/td/docs/ios-xml/ios/ipaddr/command/ipaddr-cr-book.pdf

我还尝试了以下命令的各种迭代以找到可行的方法:address ip-address client-id string [ascii]

我不确定的是客户端 ID 之后的字符串。它必须与您的接口名称匹配吗?如果不是,DHCP 服务器如何知道与分配的 IP 地址相关的接口。

这是我的运行配置:

15.0 版

没有服务垫

服务时间戳调试日期时间毫秒

服务时间戳记录日期时间毫秒

无服务密码加密

主机名 otg

!引导开始标记

引导结束标记

!启用秘密 5 $1$43Kk$SyzqQc5biarBjD2TD9Hw0/

启用密码otgswitch

没有aaa新型号

时钟时区 UTC -5 0

时钟夏令时 UTC 重复

开关 1 提供 ws-c2960x-24ts-l

没有 ip dhcp 使用 vrf 连接

ip dhcp 使用订阅者 ID 客户端 ID

ip dhcp 订阅者 ID 接口名称

ip dhcp 池 mypool

网络 192.168.200.0 255.255.255.0

仅保留

地址 192.168.200.20 客户端 ID "GigabitEthernet1/0/2" ascii

地址 192.168.200.25 客户端 ID "GigaEth1/0/1" ascii

地址 192.168.200.30 客户端 ID "GE1/0/4" ascii

地址 192.168.200.35 客户端 ID 188b.4528.d482

地址 192.168.200.45 客户端 ID "188b.4528.d482" ascii

然后我启用 DHCP 调试消息,这是我收到的:

1 月 4 日 02:55:49.112:DHCPD:重新加载工作区接口 Vlan1 tableid 0。

1 月 4 日 02:55:49.112:DHCPD:Vlan1 上 192.168.200.245 的 tableid 为 0

1 月 4 日 02:55:49.112:DHCPD:客户端的 VPN 是 .

1 月 4 日 02:55:49.112:DHCPD:使用订阅者 ID 作为客户端 ID

1 月 4 日 02:55:49.112:DHCPD:使用接收到的中继信息。

1 月 4 日 02:55:49.112:DHCPD:从接口 Vlan1 上的客户端 0047.6931.2f30.2f 收到 DHCPDISCOVER。

1 月 4 日 02:55:49.112:DHCPD:使用接收到的中继信息。

请告知我可能做错了什么。感谢您的帮助。