def do_something(params): device_connection = Device(**params) device_connection.open() # device_connection.facts_refresh() facts = device_connection.facts # response_xml_element = device_connection.rpc.get_software_information(normalize=True) # print(etree.tostring(response_xml_element)) # pprint(facts) print("{0} {1} {0}".format('=' * 37, facts['hostname'])) routing_table = RouteTable(device_connection) routing_table.get() print("RIB:") for prefix in routing_table: print(f"Destination : {prefix.key}\n" f"Via: {prefix.via}\n" f"Nexthop: {prefix.nexthop}\n" f"Protocol: {prefix.protocol}\n\n") print("{}".format('=' * 80)) arp_table = ArpTable(device_connection) arp_table.get() print("ARP table:") for entry in arp_table: print(f"IP : {entry.ip_address}\n" f"MAC: {entry.mac_address}\n" f"Interface: {entry.interface_name}\n\n") device_connection.close()
def main(): module = AnsibleModule( argument_spec=dict( host=dict(required=True), targets=dict(required=False, default=None), checktype=dict(required=False, default='pre'), user=dict(required=False, default=os.getenv('USER')), passwd=dict(required=False, default=None)), supports_check_mode=False) m_args = module.params m_results = dict(changed=False) dev = Device(m_args['host'], user=m_args['user'], passwd=m_args['passwd']) try: dev.open() results = {} ping_results = [] if m_args['checktype'] == 'pre': try: arp = ArpTable(dev) arp.get() arp_json = json.loads(json.dumps(arp, cls=TableJSONEncoder)) for entry in arp_json: ping_results.append(dev.rpc.ping (host=arp_json[entry]['ip_address'], count='3', rapid=True)) for entry in ping_results: ip = entry.findtext('target-ip').replace('\n', '') results[ip] = {} if entry.findtext('ping-success') is not None: results[ip]['success'] = True else: results[ip]['success'] = False except Exception as err: module.fail_json(msg=err) elif m_args['targets'] is not None: import ast m_args['targets'] = ast.literal_eval(m_args['targets']) for entry in m_args['targets']: if m_args['targets'][entry]['success'] == True: ping_results.append(dev.rpc.ping (host=entry, count='3', rapid=True)) for entry in ping_results: ip = entry.findtext('target-ip').replace('\n', '') results[ip] = {} if entry.findtext('ping-success') is not None: results[ip]['success'] = True else: results[ip]['success'] = False else: module.fail_json(msg='You specified a post-check \ but did not specify targets.') except Exception as err: msg = 'unable to connect to {}: {}'.format(m_args['host'], str(err)) module.fail_json(msg=msg) return else: dev.close() module.exit_json(results=results)
def gather_arp_table(): '''Return the ARP table from the device''' # Pass in NETCONF connection to the ARPTable object arp_entries = ArpTable(device_conn) # Retrieve the ARP entries in dictionary like format arp_entries.get() return arp_entries
def gather_arp_table(): DEV = check_connected() ARP_TABLE = ArpTable(DEV) ARP_TABLE.get() #print("\n") #print("Printing ARP TABLE") #print("-"*30) #pprint(ARP_TABLE.items()) return ARP_TABLE.items()
def procedimiento_arp(ip, user, passwd): print "Tabla ARP para host %s" % ip dev = Device(host=ip, user=user, passwd=passwd) dev.open() arp_list = ArpTable(dev) arp_list.get() for arp_elem in arp_list: print " arp %s asociada a ip %s por interfaz %s" % (arp_elem.mac_address, arp_elem.ip_address, arp_elem.interface_name) print "\n" time.sleep(2) dev.close()
def print_arp(hostname): dev = Device(user=username, host=hostname, password=password) dev.open() arp_table = ArpTable(dev).get() for arp in arp_table: print hostname, arp.interface_name, arp.ip_address, arp.mac_address dev.close()
def get_arp_table(args): """ Connect to device over NETCONF protocol and obtain arp table. This uses jnpr.junos.op.arp.ArpTable """ dev = Device(host=args['hostname'], user=args['user'], ssh_private_key_file=args['sshkey'], ssh_config=args['sshconfig']) try: dev.open() except: print('Unexpected error with NETCONF connection. Try `ssh ' + args['hostname'] + '`') exit(3) arps = ArpTable(dev).get() dev.close() return arps
def gather_arp(device): arp = ArpTable(device) arp.get() return arp
def gather_arp_table(device): arp_table = ArpTable(device) arp_table.get() return arp_table
def gather_arp_table(device): # Create ArpTable view object arp = ArpTable(device) # Get all arp information arp.get() return arp
def main(): module = AnsibleModule(argument_spec=dict(host=dict(required=True), targets=dict(required=False, default=None), checktype=dict(required=False, default='pre'), user=dict( required=False, default=os.getenv('USER')), passwd=dict(required=False, default=None)), supports_check_mode=False) m_args = module.params m_results = dict(changed=False) dev = Device(m_args['host'], user=m_args['user'], passwd=m_args['passwd']) try: dev.open() results = {} ping_results = [] if m_args['checktype'] == 'pre': try: arp = ArpTable(dev) arp.get() arp_json = json.loads(json.dumps(arp, cls=TableJSONEncoder)) for entry in arp_json: ping_results.append( dev.rpc.ping(host=arp_json[entry]['ip_address'], count='3', rapid=True)) for entry in ping_results: ip = entry.findtext('target-ip').replace('\n', '') results[ip] = {} if entry.findtext('ping-success') is not None: results[ip]['success'] = True else: results[ip]['success'] = False except Exception as err: module.fail_json(msg=err) elif m_args['targets'] is not None: import ast m_args['targets'] = ast.literal_eval(m_args['targets']) for entry in m_args['targets']: if m_args['targets'][entry]['success'] == True: ping_results.append( dev.rpc.ping(host=entry, count='3', rapid=True)) for entry in ping_results: ip = entry.findtext('target-ip').replace('\n', '') results[ip] = {} if entry.findtext('ping-success') is not None: results[ip]['success'] = True else: results[ip]['success'] = False else: module.fail_json(msg='You specified a post-check \ but did not specify targets.') except Exception as err: msg = 'unable to connect to {}: {}'.format(m_args['host'], str(err)) module.fail_json(msg=msg) return else: dev.close() module.exit_json(results=results)
from jnpr.junos import Device from jnpr.junos.op.arp import ArpTable from getpass import getpass from pprint import pprint srx2 = Device(host="srx2.lasthop.io", user="******", password=getpass()) srx2.open() arp_entries = ArpTable(srx2) arp_entries.get() print(arp_entries) print(arp_entries.keys()) pprint(arp_entries.values()) pprint(arp_entries.items())
print '-' * 20 a_device = Device(**juniper_srx) a_device.open() eth_ports = EthPortTable(a_device) eth_ports.get() print '-' * 80 print "Ethernet Ports" for k, v in eth_ports.items(): juniper_print(k, v) print '-' * 80 raw_input("Hit enter to continue: ") arp = ArpTable(a_device) arp.get() print '-' * 80 print "ARP" for k, v in arp.items(): juniper_print(k, v) print '-' * 80 raw_input("Hit enter to continue: ") lldp = LLDPNeighborTable(a_device) lldp.get() print '-' * 80 print "LLDP Neighbors" for k, v in lldp.items(): juniper_print(k, v) print '-' * 80
def gather_arp_table(): arp_table = ArpTable(connection) arp_table.get() return dict(arp_table.items())
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 arp_entries = ArpTable(a_device) arp_entries.get() arp_entries.items() arp_entries.keys() arp_entries.values() from jnpr.junos.op.phyport import PhyPortTable phy_ports = PhyPortTable(a_device) phy_ports.get() phy_ports.items() phy_ports.keys() phy_ports.values() phy_ports['fe-0/0/1'] phy_ports['fe-0/0/1'].keys() phy_ports['fe-0/0/1'].items()
def gather_arp_tables(a_device): arp_entries = ArpTable(a_device) arp_entries.get() return arp_entries
from jnpr.junos.op.arp import ArpTable from jnpr.junos import Device r0 = Device(host='172.16.1.250', user='******', password='******').open() arp_table = ArpTable(r0) arp_table.get() type(arp_table) from pprint import pprint pprint(arp_table())
if "Raspberry Pi Foundation" in vendor: k.update(os="Linux", category="Internet of Things (IoT)") while var == 1: for switch in list: splitlist = switch.split(' ') device = splitlist[0] username = splitlist[1] password = splitlist[2] dev = Device(device, user=username, password=password) try: dev.open() #Retrieve ARP Table arp_table = ArpTable(dev) arp_table.get() #Retrieve Ethernet Switching table eth_table = EtherSwTable(dev) eth_table.get() #Retrieve DHCP Snooping Table DHCP_table = DHCPSnoopTable(dev) DHCP_table.get() print DHCP_table LLDP_table = LLDPTable(dev) LLDP_table.get() print LLDP_table serial_number = dev.facts['serialnumber'] switch_hostname = dev.facts['hostname']
def gather_arp_table(device): #This will also return a dict-like object that can be list or dict-ified arp_table = ArpTable(device) arp_table.get() return arp_table
def gather_arp_table(jnpr_device_obj): ''' returns arp table for juniper device obj ''' arp_table_obj = ArpTable(jnpr_device_obj) arp_table = arp_table_obj.get() return arp_table
def gather_arp_table(device): arp_table = ArpTable(device) arp_entries = arp_table.get() return(arp_entries.items())
def gather_arp_table(jnpr_device): arp_table = ArpTable(jnpr_device) arp_table = dict(arp_table.get().items()) return arp_table
def gather_arp_table(device): arp = ArpTable(srx_device()) arp.get() return arp
from jnpr.junos import Device from jnpr.junos.op.arp import ArpTable from getpass import getpass a_device = Device(host="srx2.lasthop.io", user="******", password=getpass()) a_device.open() arp_entries = ArpTable(a_device) arp_entries.get()
def gather_arp_table(device): return ArpTable(device).get()