Is it possible to do IP and Mac address lookups vi nxshell or other command line tools. I would like to be able to use a script to query where a particular mac address is connected with out having to log in using the client . I didnt see any options listed in the nxadm or in the nxshell api but I could have over looked something.
Thanks
Yes, it's possible to do with nxshell. Some examples:
find by mac:
import sys
mac = sys.argv[1].upper()
for node in [o for o in s.getAllObjects() if isinstance(o, objects.Node)]:
interfaces = node.getAllChilds(objects.GenericObject.OBJECT_INTERFACE)
for interface in interfaces:
if mac in interface.getMacAddress().toString().upper():
print "%s(%d) - %s - %s" % (node.getObjectName(),
node.getObjectId(),
interface.getMacAddress(),
interface.getIpAddressListAsString())
find by ip:
import sys
ip = sys.argv[1]
for node in [o for o in s.getAllObjects() if isinstance(o, objects.Node)]:
interfaces = node.getAllChilds(objects.GenericObject.OBJECT_INTERFACE)
for interface in interfaces:
for interface_ip in interface.getIpAddressList():
if ip in interface_ip.toString():
print "%s(%d) - %s - %s" % (node.getObjectName(),
node.getObjectId(),
interface.getMacAddress(),
interface.getIpAddressListAsString())
Sample session:
~/Development/netxms/src/java/nxshell/target (develop|...)% java -Dnetxms.server=127.0.0.1 -Dnetxms.login=admin -Dnetxms.password=netxms -jar nxshell-2.0-RC2.jar find_by_mac.py B2:00:1C:15:BC:E0
AirAlk.local(100) - B2:00:1C:15:BC:E0 - 0.0.0.0/0
~/Development/netxms/src/java/nxshell/target (develop|...)% java -Dnetxms.server=127.0.0.1 -Dnetxms.login=admin -Dnetxms.password=netxms -jar nxshell-2.0-RC2.jar find_by_ip.py 127
AirAlk.local(100) - 00:00:00:00:00:00 - 127.0.0.1/8
oh wow you saved me so much time ... Thank you so much
Alex,
what you provided is great ... However how would I tweak this tool to provide the same functionality as Find Mac address tool in the managment console which also provides the switch and port the mac is connected to..
Try attached script.
Works like a charm ... Thanks