Windowsでは,TeraTermという便利なtelnetクライアントがある。telnet以外にもシリアルや,最近はsshも使えたりして非常に便利なのだが,マクロが使えるのもありがたい。ネットワーク機器などにtelnetでログインして情報を取得したり,コンフィグを書き換えたりと便利に使える。
同じようなことをunixでやろうとしたときに,いいtelnetクライアントが見つからなかった。そこで見つけたのがPerlで使う,Net::Telnetと言うモジュール。
これを使うと,マクロのようなことができる。
#!/usr/bin/perl use Net::Telnet (); #my($output,$telnet,$password,$rhost); $rhost = 'hogehoge'; $password = 'fugafuga'; $telnet = new Net::Telnet ( Timeout=>10 ); $telnet->open("$rhost"); $telnet->waitfor('/Password: $/i'); $telnet->print("$password"); $telnet->waitfor('/>$/i'); $telnet->print('enable'); $telnet->waitfor('/Password: $/i'); $telnet->print("$password"); $telnet->waitfor('/#$/i'); $telnet->print('sho vlan bri'); ($output) = $telnet->waitfor('/#$/i'); print $output; $telnet->close; exit;