我一直在疯狂地试图完成这项工作。我想从 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/端口之前我可以做些什么来设置日志文件吗?提前致谢!