如何解决使用 Perl 远程登录到 OLT MA5608T
我需要有关 Net:Telnet 的帮助。尝试连接华为OLT M5608终端。从控制台使用普通 telnet 时它工作正常。我可以连接并发出命令,但是当我从 Perl 尝试相同的操作时,它无法连接,只是等待超时并显示提示不匹配:“模式匹配超时”。
我尝试了所有可能的提示,但都没有成功。
从控制台它工作正常:
telnet xxx.xxx.xxx.xxx
Trying xxx.xxx.xxx.xxx...
Connected to xxx.xxx.xxx.xxx.
Escape character is '^]'.
>>User name:root
>>User password:
Huawei Integrated Access Software (MA5608T).
...
这是我的示例代码:
use Net::Telnet ();
$remote = new Net::Telnet (Timeout => 5,Errmode => 'return',Dump_Log => 'log.txt');
$remote->open("xxx.xxx.xxx.xxx") or die $remote->errmsg;
$remote->waitfor('/>>User name: $/i') or die $remote->errmsg;
$remote->print("root") or die $remote->errmsg;
$remote->waitfor('/>>User password: $/i') or die $remote->errmsg;
$remote->print("<;-)>") or die $remote->errmsg;
$remote->waitfor('/\$ $/') or die $remote->errmsg;
$remote->print("display idle-timeout") or die $remote->errmsg;
($output) = $remote->waitfor('/\$ $/') or die $remote->errmsg;
print $output;
和 cat log.txt
< 0x00000: ff fb 01 ff fb 03 ▒▒.▒▒.
> 0x00000: ff fd 01 ff fd 03 ▒▒.▒▒.
< 0x00000: 0d 0a 3e 3e 55 73 65 72 20 6e 61 6d 65 3a ..>>User name:
原因是什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。