Hatena::ブログ(Diary)

mozukumaの技術系メモ

2008-06-13

[][][]シェルスクリプトtelnet自動操作

telnetログインして何か実行した結果をテキストに保存して情報収集したり、複数のサーバログインして同じコマンドをひたすら入力したりするのはつらいものです。操作端末がWindowsTeratermが使える環境ならマクロでどうとでも出来るのですが、UNIXのコンソール環境でどうにかしなければいけなかったり、cronで裏で粛々と動いて欲しい時は困ってしまいます。

そんな事があってperlを頑張って勉強してNet::telnetとか使って無理矢理実現させていたんですが、某氏からこんなやり方を教えてもらい、あまりの簡単さにちびりそうになりました。というかちびりました。

telnet接続後の入力文字列をechoで羅列。タイミングはsleepで調整。

cmds.sh

#!/bin/sh
sleep 1; echo user-name
sleep 1; echo password
sleep 5; echo ls -al
sleep 1; echo exit

で、このスクリプトの後にパイプでtelnetを繋いで実行。(勿論これもスクリプトにしても問題ない)

sh ./cmds.sh | telnet 192.168.0.1 >> auto-telnet.log

これだけです…か簡単過ぎる…っ!!

小難しい事考えて頑張るのは実は簡単で、仕組みを知った上で柔軟に実現させる事が真に難しい。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証