Python Forum
telnetlib.Telnet timeout issue.. taking much time - Printable Version

+- Python Forum (https://python-forum.io)
+-- Forum: Python Coding (https://python-forum.io/forum-7.html)
+--- Forum: Networking (https://python-forum.io/forum-12.html)
+--- Thread: telnetlib.Telnet timeout issue.. taking much time (/thread-7262.html)



telnetlib.Telnet timeout issue.. taking much time - anna - Jan-01-2018

#!/usr/bin/python
import paramiko
import sys
import os
import xlrd
import unidecode
import telnetlib
import time
 
def telNetConnection(column1,column2,column3):
 host = [ (column1),]
 for host in host:
  print 'Processing'+' '+column1
  user  = (column2)
  password = (column3)
  telnet  = telnetlib.Telnet(host,23,2)
  telnet.read_until('User name:',3)
  telnet.write(user.encode('ascii') + '\r')
  telnet.read_until('Password:',3)
  telnet.write(password.encode('ascii') + '\r')
  #telnet.read_until('>',3)
  telnet.write('statistics mac 1~48' + '\r\r\r')
  #telnet.read_until("    Press any key to continue, 'e' to exit, 'n' for nopause")
  #telnet.write('n')
  telnet.read_until('>',3)
  telnet.write('exit' + '\r')
  output=telnet.read_all()
  f = open('macportdetail.txt', 'w')
  f.write(host+" "+str(output))
 
 
os.chdir("/home/anna/scripts")
workbook = xlrd.open_workbook('zyxeldslams.xlsx')
worksheet = workbook.sheet_by_name('Sheet1')
 
#try:
for x in range(1,375):
    column1 = (worksheet.cell(x,0).value).decode('ascii')
    column2 = (worksheet.cell(x,1).value).decode('ascii')
    column3 = str(worksheet.cell(x,2).value).decode('utf-8')
    try:
        telNetConnection(column1,column2,column3)
    except:
         print "Connection time out"
         pass




This script is taking IP and credentials are excel file and telnet and print output. This file is having morethan 1000+ devices

required support for below issues

1) telnetlib.Telnet timeout is taking two much time, i have provide timeout as 2 second.
2) i am able to print output to single file

current output is

Port: 3
index vid mac
----- ---- -----------------
1 3624 00:17:7c:6d:fd:84
Port: 6
index vid mac
----- ---- -----------------
2 3624 ec:22:80:f1:67:ce
Port: 7
index vid mac
----- ---- -----------------
3 3624 ec:08:6b:96:94:36
Port: 10
index vid mac
----- ---- -----------------
4 3624 0c:d2:b5:58:cf:40
Port: 11
index vid mac
----- ---- -----------------
5 3624 48:ee:0c:d0:da:15

i want to print this as below
1) Sr.No---- incremental serial number
2) hostip --- to whom script is telnetting
3) port, index, vid and mac from output

Sr.No hostip port index vid mac
1 10.10.10.1 3 1 3624 00:17:7c:6d:fd:84
2 10.10.10.1 6 2 3624 ec:22:80:f1:67:ce
3 10.10.10.1 7 3 3624 ec:08:6b:96:94:36
4 10.10.10.1 10 4 3624 0c:d2:b5:58:cf:40


RE: telnetlib.Telnet timeout issue.. taking much time - devs4p - Jan-19-2018

Open specific port on/in firewall to make your script to pass through.