Auto-Discovery with NMAP
June 26th, 2017
Comments off
Discover
I created this script in order to use it as a feed for enterprise management tools such as Nagios. It’s a bit difficult to get a handle on auto-discovery tools within an enterprise management tool when it discovers what can be an overwhelming number of hosts. NMAP is smart enough to translate the MAC address into a vendor if it can.
This script called discover uses the NMAP tool on Linux (tested on Centos).
#! /bin/bash # # Name: discover # # Garland Joseph, garland.joseph@gmail.com # Date: June 2017 # # Auto-discover on subnet using nmap, can be fed into something like nagios # as a seed file after proper formatting. # # ---- if [[ -z ${1} ]] then cat <<EOD $0 <subnet> where subnet, by example, is something like 192.168.1.0/24 EOD exit fi nmap -sn ${1} | awk ' BEGIN{ printf("%-16s| %-18s| %-35s| %-30s\n","IP","MAC","NAME","VENDOR") } /^Nmap scan report/ { NAME=$5 x=$NF gsub("[()]","",x) IP=x } /^MAC Address/ { MAC=$3 split($0,a,"(") split(a[2],b,")") VENDOR=b[1] printf("%-16s| %-18s| %-35s| %-30s\n",IP,MAC,NAME,VENDOR) }'
Here is an example of the output
[root@localhost ~]# ./discover 192.168.1.0/24 IP | MAC | NAME | VENDOR 192.168.1.1 | C8:D7:19:DE:54:2E | NyaRaePrimary | Cisco Consumer Products 192.168.1.100 | B8:27:EB:72:2A:4A | kodi1.grandenetworks.net | Raspberry Pi Foundation 192.168.1.101 | 00:1F:3B:75:7F:EB | 192.168.1.101 | Intel Corporate 192.168.1.102 | 6C:3B:E5:76:96:A5 | HP-Printer.grandenetworks.net | Hewlett Packard 192.168.1.105 | A8:47:4A:AC:8F:89 | 192.168.1.105 | Unknown 192.168.1.106 | F0:7D:68:0A:7C:8A | OllieMaeJoseph.grandenetworks.net | D-Link 192.168.1.107 | 58:82:A8:81:C3:A6 | XboxOne | Unknown 192.168.1.109 | 28:56:5A:39:ED:FD | BRW28565A39EDFD.grandenetworks.net | Unknown 192.168.1.110 | 64:20:0C:90:24:D9 | Garlands-iPad.grandenetworks.net | Apple 192.168.1.112 | 7C:D1:C3:17:0C:58 | Apple-TV.grandenetworks.net | Apple 192.168.1.115 | B8:27:EB:12:DA:AC | kodi2.grandenetworks.net | Raspberry Pi Foundation 192.168.1.118 | A4:77:33:8E:CE:C2 | Chromecast.grandenetworks.net | Google 192.168.1.119 | 6C:AD:F8:5D:3A:D6 | 192.168.1.119 | Azurewave Technologies 192.168.1.131 | F0:7D:68:0A:7A:D5 | EmmaEdwards.grandenetworks.net | D-Link 192.168.1.135 | 28:10:7B:0C:3A:71 | EarlEdwards.grandenetworks.net | D-Link International 192.168.1.136 | 00:09:B0:D6:A8:2A | 192.168.1.136 | Onkyo 192.168.1.138 | 28:10:7B:0C:3A:74 | LeeJoseph.grandenetworks.net | D-Link International 192.168.1.145 | D4:3D:7E:EF:93:99 | obama | Micro-Star Int'l Co 192.168.1.147 | E4:3E:D7:44:21:8F | LGwebOSTV.grandenetworks.net | Unknown