私はこれを機能させようとして夢中になっています。Python から telnet ログを収集したいと考えています。単純な telnet では、telnet を開いて次を使用します。
set logfile test.xml
問題は、Python では、このコマンドを最初に渡す方法がわからないことです。これを実行すると
try:
tn = telnetlib.Telnet()
tn.write(b"set logfile test.xml" + b"\r")
tn.open(IP, 223, 8192)
except socket.timeout:
print ("socket timeout")
sulk()
次のエラーが表示されます。
Traceback (most recent call last):
File "C:xxxxxxxx.py", line 18, in <module>
tn.write(b"set logfile test.xml" + b"\r")
File "C:\Python33\lib\telnetlib.py", line 282, in write
self.sock.sendall(buffer)
AttributeError: 'NoneType' object has no attribute 'sendall'
ログ ファイルを設定せずに IP/ポートを開くと、スクリプトは正常に実行されます。この問題を解決するために、Python を使用してファイルに書き込みます。しかし、何らかの理由で、これには 5 分以上の非常に長い時間がかかります。telnet を介してコマンドを実行すると、10 秒もかかりません...
telnet
set logfile test.xml
o xxx.xxx.xxx.xxx xxx
>>commandx
>>commandy
All the data I need is here and in the log file
IP/ポートを開く前にログファイルを設定するためにできることはありますか? 前もって感謝します!