Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- import time
- import telnetlib
- from ipaddress import ip_network
- f = open('switches.log', 'w')
- HOSTS = list(ip_network('192.168.0.0/23').hosts())
- # HOSTS = ['192.168.111.55', '192.168.111.104', '192.168.111.120']
- LOGIN = 'USER'
- PASSWORD = 'PASS'
- def cmd(value):
- return value.encode('ascii') + b'\n'
- def do(HOST, f):
- try:
- SUCCESS = False
- tn = telnetlib.Telnet(host=HOST, port=23, timeout=5)
- # tn.set_debuglevel(1)
- tn.expect([b'UserName:'], 2)
- tn.write(cmd(LOGIN))
- tn.expect([b'PassWord:'], 2)
- tn.write(cmd(PASSWORD))
- a, b, fail = tn.expect([b'Fail!:'], 2)
- if b'Fail' in fail:
- tn.expect([b'UserName:'], 2)
- tn.write(cmd(LOGIN))
- tn.expect([b'PassWord:'], 2)
- tn.write(cmd(PASSWORD))
- a, b, fail = tn.expect([b'Fail!:'], 2)
- if b'Fail' in fail:
- print(HOST + ' - Fail!')
- f.write(HOST + ' - Fail!\n')
- sys.exit(0)
- tn.write(cmd('enable admin'))
- tn.expect([b'PassWord:'], 2)
- tn.write(cmd('ADMINPASS'))
- tn.expect([b'admin#', b'4#', b'5#'], 5)
- tn.write(cmd('config igmp_snooping multicast_vlan_group_profile base add 1.2.3.4-5.6.7.8'))
- a, b, success = tn.expect([b'Success'], 5)
- if b'Success' in success:
- SUCCESS = True
- tn.write(cmd('show vlan vlanid 1'))
- tn.expect([b'admin#', b'4#', b'5#'], 5)
- tn.write(cmd('save all'))
- tn.expect([b'admin#', b'4#', b'5#'], 5)
- tn.write(cmd('logout'))
- print(HOST + ' - Success!')
- f.write(HOST + ' - Success!\n')
- return 0
- tn.write(cmd('config igmp_snooping multicast_vlan_group TV add 1.2.3.4-5.6.7.8'))
- a, b, success = tn.expect([b'Success'], 5)
- if b'Success' in success:
- SUCCESS = True
- tn.write(cmd('show vlan vlanid 1'))
- tn.expect([b'admin#', b'4#', b'5#'], 5)
- tn.write(cmd('save all'))
- tn.expect([b'admin#', b'4#', b'5#'], 5)
- tn.write(cmd('logout'))
- f.write(HOST + ' - Success!\n')
- print(HOST + ' - Success!')
- return 0
- if not SUCCESS:
- tn.expect([b'admin#', b'4#', b'5#'], 5)
- tn.write(cmd('logout'))
- print(HOST + ' - Fail!')
- f.write(HOST + ' - Fail!\n')
- return 0
- except:
- print(HOST + ' - Fail')
- f.write(HOST + ' - Fail!\n')
- for HOST in HOSTS:
- do(str(HOST), f)
- f.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement