0

Linux マシンで python (ver. 2.6.2) を実行しており、デバイスの長いリスト (約 300) に telnet で接続できるようにする必要があります。コマンド「sho ser」を送信し、そのコマンドの結果の出力をファイルに返します。リストの下にある連続した各デバイスは、その出力を新しい行に追加します。すべてのデバイスは、ファイル内の別々の行にリストされています

別の投稿から始めたコードを見つけましたが、ここからどこに行くべきかわかりません。「hostlist」と呼んだリストを開くことができますが、Pythonに1つのデバイスにtelnetを指示し、コマンドを実行し、終了してから次のデバイスに進む方法がわかりません。どんな助けでも大歓迎です

import getpass
import sys
import telnetlib

f = open('hostlist', 'r')

HOST = "%s" % f
user = raw_input("Enter your login name: ")
password = getpass.getpass()

tn = telnetlib.Telnet(HOST)

tn.read_until("login: ")
tn.write(user + "\n")
if password:
    tn.read_until("Password: ")
    tn.write(password + "\n")

tn.write("show ver\n")
tn.write("exit\n")

print tn.read_all()

このエラーを受け取る

Enter your login name: K3grb6hj9ld93a2
Password: 
Traceback (most recent call last):
 File "test.py", line 11, in <module>
    tn = telnetlib.Telnet(HOST)
 File "/usr/lib/python2.6/telnetlib.py", line 209, in __init__
    self.open(host, port, timeout)
 File "/usr/lib/python2.6/telnetlib.py", line 225, in open
    self.sock = socket.create_connection((host, port), timeout)
 File "/usr/lib/python2.6/socket.py", line 498, in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
  socket.gaierror: [Errno -2] Name or service not known
4

0 に答える 0