PERL::NET::TELNET::CISCO登录cisco交换机的问题

liucy1983 2009-11-15 12:01:19
我前几天写了一点代码,使用NET::TELNET::CISCO登录到思科的29或者35的交换机上备份配置和日志,运行过程中遇到一个问题就是计算机名中有#、'的时候就会报错,说登录超时。
我查了一下,在TELNET模块中有一个prompt参数,是因为这个的问题,思科交换机的特权模式的提示符就是#
我知道最好的办法是交换机改名,但因为客户这边不好通过,所以我想问问有没有别的办法

PS:我知道日志这部分是要做SYSLOGD,但这是客户的要求,我也非常郁闷
...全文
468 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
liucy1983 2009-11-18
  • 打赏
  • 举报
回复
由于现在我不需要特权模式,所以就把PROMPT改成只检查>,遇到有两个或者多个#的情况还是要再去学习
fibbery 2009-11-15
  • 打赏
  • 举报
回复
详细参考见:http://search.cpan.org/~jrogers/Net-Telnet-3.03/lib/Net/Telnet.pm
fibbery 2009-11-15
  • 打赏
  • 举报
回复
没用过CISCO模块,但我直接使用TELNET模块测试过,以各种模式登录都没有问题,你可以再试一试.
fibbery 2009-11-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 liucy1983 的回复:]
。。。不好意思,写错了最重要的内容
不是模式的问题,而是交换机的HOSTNAME中含有#、'等特殊符号的话,TELNET在检测PROMPT的时候就会出错
[/Quote]
你需要正确书写正则表达式,以正确获得telnet返回信息。
liucy1983 2009-11-15
  • 打赏
  • 举报
回复
。。。不好意思,写错了最重要的内容
不是模式的问题,而是交换机的HOSTNAME中含有#、'等特殊符号的话,TELNET在检测PROMPT的时候就会出错

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧