Jan-10-2018, 08:26 AM
telnet output is as below, want to print vlan (vid) and mac, please suggest changes
Port: 1
index vid mac
----- ---- -----------------
1 3738 e4:6f:13:80:dd:52
Port: 3
index vid mac
----- ---- -----------------
2 3738 c4:6e:1f:2f:ac:a6
Port: 5
index vid mac
----- ---- -----------------
3 3738 e4:6f:13:81:fc:a2
Port: 13
index vid mac
----- ---- -----------------
4 3738 48:ee:0c:d1:ba:95
Port: 14
index vid mac
----- ---- -----------------
5 3738 e8:37:7a:9d:0e:66
Port: 15
index vid mac
----- ---- -----------------
6 3738 00:17:7c:6d:64:b4
Port: 20
index vid mac
----- ---- -----------------
7 3638 6c:72:20:54:69:74
Port: 21
index vid mac
----- ---- -----------------
8 3638 10:7b:ef:a6:4b:dc
Port: 25
index vid mac
----- ---- -----------------
9 3638 00:17:7c:80:7a:43
Port: 1
index vid mac
----- ---- -----------------
1 3738 e4:6f:13:80:dd:52
Port: 3
index vid mac
----- ---- -----------------
2 3738 c4:6e:1f:2f:ac:a6
Port: 5
index vid mac
----- ---- -----------------
3 3738 e4:6f:13:81:fc:a2
Port: 13
index vid mac
----- ---- -----------------
4 3738 48:ee:0c:d1:ba:95
Port: 14
index vid mac
----- ---- -----------------
5 3738 e8:37:7a:9d:0e:66
Port: 15
index vid mac
----- ---- -----------------
6 3738 00:17:7c:6d:64:b4
Port: 20
index vid mac
----- ---- -----------------
7 3638 6c:72:20:54:69:74
Port: 21
index vid mac
----- ---- -----------------
8 3638 10:7b:ef:a6:4b:dc
Port: 25
index vid mac
----- ---- -----------------
9 3638 00:17:7c:80:7a:43
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
#!/usr/bin/python import paramiko import sys import os import xlrd import unidecode import telnetlib import time import re from time import sleep mac = re. compile (r '[a-fA-F0-9]{2}[:][a-fA-AF0-9]{2}[:][a-fA-F0-9]{2}[:][a-fA-F0-9]{2}[:][a-fA-F0-9]{2}[:][a-fA-F0-9]{2}' ) vlan = re. compile (r '\d{4}' ) user = 'admin' password = '1234' with open ( 'zyxel.txt' , 'r' ) as ipfile: for sr_no, line in enumerate (ipfile, start = 1 ): host = line.strip() try : print 'Connecting .....' + str (host) 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('>') telnet.write( 'statistics mac 1~48' + '\r' ) telnet.read_until( '>' ) telnet.write( ' exit' '\r' ) output = telnet.read_all() print 'printing output.....' for line in output: if vlan in line: vlan = DslamVlan if mac in line: mac = DslamPortMac print DslamVlan + ' ' + DslamPortMac except Exception as excp: print (excp) |