1

PerlのNet::Telnetモジュールと接触するために小さなtelnetスクリプトを作成しようとしましたが、出力を受信しようとするとコマンドタイムアウトに苦労します。

$telnet = new Net::Telnet ( Timeout=>10);
$telnet->errmode("return");
$telnet->open('192.168.0.187');
$telnet->waitfor('/Username: $/i');
$telnet->print('admin');
$telnet->waitfor('/Password: $/i');
$telnet->print('admin');
$telnet->waitfor('/admin  >$/i');
@output = $telnet->cmd('show');
#$telnet->waitfor('/admin  >$/i');
print @output;

しかし、私が得るものは次のとおりです。

telnet.plの12行目でコマンドがタイムアウトしました

タイムアウトを増やしようとしましたが、errmodeをreturnに設定しましたが、それでもそのタイムアウトが発生します。それにもかかわらず、サーバーでの「show」の出力には約1秒かかるので、スクリプトで推測する他の何かが間違っている必要がありますか?

4

1 に答える 1

1

スクリプトの 12 行目を教えてください。上記のスニペットには 12 行目がありません。

これは、接続中に失敗したのか、それとも後のコマンド中に失敗したのかを特定するのに役立ちます。失敗するのは「show」コマンドだと確信していますか?

于 2012-08-21T21:26:12.850 に答える