如何调试 Perl Net::Telnet 程序?

发布于 2024-08-18 04:39:59 字数 628 浏览 6 评论 0原文

我正在尝试自动远程登录到 Linux 机器,该机器不需要通过 Net:: 进行任何身份验证Telnet Perl 模块。这是一个测试脚本:

use strict;
use Net::Telnet;
my $telnet = new Net::Telnet ( Timeout=>10, Errmode=>'die',
                               host=> '10.104.20.200', port => 2004,
                             ); 
$telnet->print('ls');
my $output = $telnet->waitfor('/\$ $/i');
print $output;

当我执行此脚本时,出现以下错误,

pattern match timed-out at telnetPerl.pl line 7. 

如您所见,我匹配 waitfor 中的任何字符。但我怀疑 telnet 连接是否首先发生。

I am trying to automate telnet to a Linux box which doesn't require any authentication through Net::Telnet Perl module. Here is a test script:

use strict;
use Net::Telnet;
my $telnet = new Net::Telnet ( Timeout=>10, Errmode=>'die',
                               host=> '10.104.20.200', port => 2004,
                             ); 
$telnet->print('ls');
my $output = $telnet->waitfor('/\$ $/i');
print $output;

When I execute this script, I get the below error,

pattern match timed-out at telnetPerl.pl line 7. 

As you could see, I am matching for any characters in waitfor. But I doubt whether the telnet connectivity happened in the first place.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

何以心动 2024-08-25 04:39:59

Net::Telnet 文档在 waitfor()< 条目下显示/代码>:

当此方法持续超时而您认为不应该超时时,请使用 dump_log() 进行调试。

当您按照医生的指示进行操作时发生了什么? :)

The Net::Telnet docs say under the entry for waitfor():

Use dump_log() to debug when this method keeps timing-out and you don't think it should.

What happened when you followed the doc's instructions? :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文