Feb-01-2018, 11:02 AM
#!/usr/bin/python
import threading
import sys
import os
import unidecode
import telnetlib
import time
import re
from time import sleep
outfile = open('zyxelmac.txt','w')
def open_telnet(ip):
user = 'admin'
password = '1234'
sr_no = 0
try:
telnet = telnetlib.Telnet(ip, 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.write('statistics mac 1~48' + '\r\r\r\r')
telnet.read_until('>')
telnet.write(' exit''\r')
output = telnet.read_all()
sleep(2)
data = iter(output.split('\n'))
try:
for line in data:
if "Port:" in line:
port1 = line.split(':')
port = str(port1[:5])
port2 = port[10:13].strip()
port3 = port2.replace('\\','')
next(data)
next(data)
port_mac = next(data)[1:]
outfile.write(ip+' '+port3+' '+port_mac)
outfile.write('\n')
except StopIteration:
pass
except Exception as excp:
print(excp)
def create_threads():
threads = []
with open('zyxel.txt','r') as ipfile:
for sr_no, line in enumerate(ipfile, start=1):
ip = line.strip()
th = threading.Thread(target = open_telnet ,args = (ip,))
th.start()
threads.append(th)
for thr in threads:
thr.join()
if __name__ == "__main__":
create_threads()
print "Exiting the program"
outfile.close()above script is working sequentially and not Parallel. please suggest.
