def main(): ''' For each of the SRX's interfaces, display: the operational state, packets-in, and packets-out. You will probably want to use EthPortTable for this. ''' pwd = getpass() try: a_device = Device(host='184.105.247.76', user='******', password=pwd) a_device.open() ports = EthPortTable(a_device) ports.get() print "\n"*2 for port in ports.keys(): print "#"*80 print "Operational state, Packets-in and Packets-out for Port {0} are :".format(port) print "#"*80 print "Operational state is : {0}".format(ports[port]['oper']) print "Packets-in are : {0}".format(ports[port]['rx_packets']) print " Packets-out are : {0}".format(ports[port]['tx_packets']) print "*"*80 print "\n"*2 print except: print print "Authentication Error" print
class JuniperObject(object): def __init__(self, jnp_dev): self.conn = jnp_dev self.config = None self.ports = {} self.routes = {} def __get_ports(self): self.ports = EthPortTable(self.conn) self.ports.get() def __get_routes(self): self.routes = RouteTable(self.conn) self.routes.get() def config_mode(self): self.config = Config(self.conn) self.config.lock() def send_command(self, command, cmd_format, cmd_merge): self.config.load(command, format=cmd_format, merge=cmd_merge) def file_command(self, file_path, file_format, file_merge): self.config.load(path=file_path, format=file_format, merge=file_merge) def get_diff(self): return self.config.diff() def commit(self, comment=None): self.config.commit(comment=comment) def rollback(self): self.config.rollback(0) def unlock(self): self.config.unlock() def show_all_interfaces(self): self.__get_ports() print "Juniper SRX Interface Statistics" for my_key in self.ports.keys(): print "---------------------------------" print my_key + ":" print "Operational Status: " + self.ports[my_key]['oper'] print "Packets In: " + self.ports[my_key]['rx_packets'] print "Packets Out: " + self.ports[my_key]['tx_packets'] def show_all_routes(self): self.__get_routes() print "Juniper SRX Routing Table" for my_key in self.routes.keys(): print "---------------------------------" print my_key + ":" print " Next Hop: {}".format(self.routes[my_key]['nexthop']) print " Age: {}".format(self.routes[my_key]['age']) print " via: {}".format(self.routes[my_key]['via']) print " Protocol: {}".format(self.routes[my_key]['protocol'])
class JuniperObject(object): def __init__(self, jnp_dev): self.conn = jnp_dev self.config = None self.ports = {} self.routes = {} def __get_ports(self): self.ports = EthPortTable(self.conn) self.ports.get() def __get_routes(self): self.routes = RouteTable(self.conn) self.routes.get() def config_mode(self): self.config = Config(self.conn) self.config.lock() def send_command(self, command, cmd_format, cmd_merge): self.config.load(command, format=cmd_format, merge=cmd_merge) def file_command(self, file_path, file_format, file_merge): self.config.load(path=file_path, format=file_format, merge=file_merge) def get_diff(self): return self.config.diff() def commit(self, comment=None): self.config.commit(comment=comment) def rollback(self): self.config.rollback(0) def unlock(self): self.config.unlock() def show_all_interfaces(self): self.__get_ports() print "Juniper SRX Interface Statistics" for my_key in self.ports.keys(): print "---------------------------------" print my_key + ":" print "Operational Status: " + self.ports[my_key]['oper'] print "Packets In: " + self.ports[my_key]['rx_packets'] print "Packets Out: " + self.ports[my_key]['tx_packets'] def show_all_routes(self): self.__get_routes() print "Juniper SRX Routing Table" for my_key in self.routes.keys(): print "---------------------------------" print my_key + ":" print " Next Hop: {}".format(self.routes[my_key]['nexthop']) print " Age: {}".format(self.routes[my_key]['age']) print " via: {}".format(self.routes[my_key]['via']) print " Protocol: {}".format(self.routes[my_key]['protocol'])
def _get_interfaces(self): eth_ifaces = EthPortTable(self.native) eth_ifaces.get() loop_ifaces = LoopbackTable(self.native) loop_ifaces.get() ifaces = eth_ifaces.keys() ifaces.extend(loop_ifaces.keys()) return ifaces
def _get_interfaces(self): eth_ifaces = EthPortTable(self.native) eth_ifaces.get() loop_ifaces = LoopbackTable(self.native) loop_ifaces.get() ifaces = eth_ifaces.keys() ifaces.extend(loop_ifaces.keys()) return ifaces
def main(args): '''Acquire necessary input options, interact with SRX device as specified per CLI args.''' parser = argparse.ArgumentParser( description='Interact with specified SRX device as specified') parser.add_argument('--version', action='version', version=__version__) parser.add_argument('-d', '--datafile', help='specify YAML file to read router info from', default=SRX_FILE) parser.add_argument('--prompt', action='store_true', help='prompt for router info (do not try to read in from file)', default=False) parser.add_argument('-v', '--verbose', action='store_true', help='display verbose output', default=False) args = parser.parse_args() # Debugging #if args.verbose: # print 'Args = {}'.format(args) # Initialize data structures mysrx = {} if not args.prompt: mysrx = yaml_input(args.datafile, args.verbose) # Debugging #if args.verbose: # print 'mysrx = {}'.format(mysrx) else: if args.verbose: print 'Prompting specified - asking user for all connection details' check_input(mysrx, args.verbose) mysrx_conn = Device(host=mysrx['HOST'], user=mysrx['USER'], password=mysrx['PASSWORD']) if args.verbose: print 'Opening NETCONF connection to {}...'.format(mysrx['HOST']) mysrx_conn.open() # Set timeout - default of 30 seconds can be problematic, must set after open() mysrx_conn.timeout = TIMEOUT ethports = EthPortTable(mysrx_conn) if args.verbose: print 'Gathering EthPortTable info from {}...'.format(mysrx['HOST']) ethports.get() print 'Device Ethernet Port information for {}:'.format(mysrx['HOST']) for int_key in ethports.keys(): print '{}:'.format(int_key) for int_subkey in ethports[int_key].keys(): if int_subkey == 'oper': print ' \\Operational Status: {}'.format(ethports[int_key][int_subkey]) elif int_subkey == 'rx_packets': print ' \\Received Packets: {}'.format(ethports[int_key][int_subkey]) elif int_subkey == 'tx_packets': print ' \\Transmitted Packets: {}'.format(ethports[int_key][int_subkey]) mysrx_conn.close()
def main(): ''' Main function ''' a_device = remote_conn(HOST, USER, PWD) if not a_device: sys.exit('Fix the above errors. Exiting...') ports = EthPortTable(a_device) ports.get() for port in ports.keys(): print port port_items = dict(ports[port].items()) print ' Oper: %s' % (port_items['oper']) print ' rx: %s' % (port_items['rx_packets']) print ' tx: %s' % (port_items['tx_packets']) print
from jnpr.junos import Device from jnpr.junos.op.ethport import EthPortTable from getpass import getpass from pprint import pprint import ipdb a_device = Device(host="srx2.lasthop.io", user="******", password=getpass()) a_device.open() ipdb.set_trace() ports = EthPortTable(a_device) ports.get() print(ports) print(ports.keys()) pprint(ports.values()) pprint(ports.items())
from jnpr.junos.op.ethport import EthPortTable from getpass import getpass from pprint import pprint pwd = getpass() a_device = Device(host='50.242.94.227', user='******', password=pwd) a_device.open() pprint(a_device.facts) ports = EthPortTable(a_device) ports.get() ports.keys() ports.items() ports.values() ports['fe-0/0/1'] ports['fe-0/0/1'].items() for k,v in ports['fe-0/0/1'].items(): print k, v ports['fe-0/0/1']['oper'] ports['fe-0/0/1']['macaddr'] from jnpr.junos.op.arp import ArpTable
from jnpr.junos import Device from jnpr.junos.op.ethport import EthPortTable a_device = Device(host="184.105.247.76", user='******', password='******') a_device.open() a_device.timeout = 120 ports = EthPortTable(a_device) ports.get() for int in ports.keys(): print '==========' print "Stats for interface {}".format(int) for k,v in ports[int].items(): if k == 'rx_packets' or k == 'tx_packets': print k, v print '=========='
#!/usr/bin/env python from __future__ import print_function from jnpr.junos import Device from jnpr.junos.op.ethport import EthPortTable from getpass import getpass juniper_srx = { "host": "184.105.247.76", "user": "******", "password": getpass(), } a_device = Device(**juniper_srx) a_device.open() eth_ports = EthPortTable(a_device) eth_ports.get() print(eth_ports.keys())
#!/usr/bin/env python # 2. For each of the SRX's interfaces, display: the operational state, # packets-in, and packets-out. You will probably want to use EthPortTable # for this. from jnpr.junos import Device from jnpr.junos.op.ethport import EthPortTable from pprint import pprint from getpass import getpass pwd = getpass() a_device = Device(host='50.76.53.27', user='******', password=pwd) a_device.open() # Establich connection to Juniper SRX device # Instantiagte an EthPortTable object ports = EthPortTable(a_device) # Retrieve data from ports ports.get() # Retrieve port numbers and recursively obtain other info from there for a_port in ports.keys(): print ("Port: %s, Operating state: %s, Rx Packets: %s, Tx Packets: %s" % (a_port, ports[a_port]['oper'], ports[a_port]['rx_packets'], ports[a_port]['tx_packets'])) # mm = tamtamnewclass
#!/usr/bin/env python from jnpr.junos import Device from jnpr.junos.op.ethport import EthPortTable from getpass import getpass juniper_srx = { "host": "184.105.247.76", "user": "******", "password": getpass(), } a_device = Device(**juniper_srx) a_device.open() eth_ports = EthPortTable(a_device) eth_ports.get() print eth_ports.keys()
''' Class Juniper Automation Exercise 2 For each of the SRX's interfaces, display: the operational state, packets-in, and packets-out. You will probably want to use EthPortTable for this. ''' from jnpr.junos import Device from pprint import pprint from jnpr.junos.op.ethport import EthPortTable a_device = Device(host='184.105.247.76', user='******', password='******') a_device.open() ports = EthPortTable(a_device) ports.get() for i in ports.keys(): print '*' * 80 print i for k,v in ports[i].items(): print k, v