expectを使用して TELNET セッションへのログインを自動化する必要がありますが、同じユーザー名に対して複数のパスワードを処理する必要があります。
作成する必要があるフローは次のとおりです。
- IP への TELNET セッションを開く
- ユーザー名を送信
- パスワードを送信
- 間違ったパスワード?同じユーザー名をもう一度送信してから、別のパスワードを送信します
- この時点でログインに成功しているはずです...
それだけの価値があるので、これまでのところ私が持っているものは次のとおりです。
#!/usr/bin/expect
spawn telnet 192.168.40.100
expect "login:"
send "spongebob\r"
expect "password:"
send "squarepants\r"
expect "login incorrect" {
expect "login:"
send "spongebob\r"
expect "password:"
send "rhombuspants\r"
}
expect "prompt\>" {
send_user "success!\r"
}
send "blah...blah...blah\r"
言うまでもなく、これは機能しません。また、見栄えもよくありません。Google での私の冒険から、expectはダークアートのようなものに思えます。この件についてご協力いただきありがとうございます。