Nmap broadcast-eigrp-discovery NSE Script


This page contains detailed information about how to use the broadcast-eigrp-discovery NSE script. For list of all NSE scripts, visit the Nmap NSE Library.

Select:
Overview
Error Messages

Script Overview


Script source code: https://github.com/nmap/nmap/tree/master/scripts/broadcast-eigrp-discovery.nse
Script categories: discovery, broadcast, safe
Target service / protocol: -
Target network port(s): -
List of CVEs: -

Script Description


The broadcast-eigrp-discovery.nse script performs network discovery and routing information gathering through Cisco's Enhanced Interior Gateway Routing Protocol (EIGRP).

The script works by sending an EIGRP Hello packet with the specified Autonomous System value to the 224.0.0.10 multicast address and listening for EIGRP Update packets. The script then parses the update responses for routing information.

If no A.S value was provided by the user, the script will listen for multicast Hello packets to grab an A.S value. If no interface was provided as a script argument or through the -e option, the script will send packets and listen through all valid ethernet interfaces simultaneously.

Broadcast-eigrp-discovery NSE Script Arguments


This is a full list of arguments supported by the broadcast-eigrp-discovery.nse script:

broadcast-eigrp-discovery.as

Autonomous System value to announce on. If not set, the script will listen for announcements on 224.0.0.10 to grab an A.S value.

broadcast-eigrp-discovery.interface

Interface to send on (overrides -e)

broadcast-eigrp-discovery.kparams

The K metrics. Defaults to 101000.

broadcast-eigrp-discovery.timeout

Max amount of time to listen for A.S announcements and updates. Defaults to 10 seconds.

max-newtargets

Sets the number of the maximum allowed new targets. If set to 0 or less then there is no limit. The default value is 0.

newtargets

If specified, lets NSE scripts add new targets.

- - -
To use these script arguments, add them to the Nmap command line using the --script-args arg1=value,[arg2=value,..] syntax. For example:

nmap --script=broadcast-eigrp-discovery --script-args broadcast-eigrp-discovery.as=value,broadcast-eigrp-discovery.interface=value <target>

Broadcast-eigrp-discovery NSE Script Example Usage


Here's an example of how to use the broadcast-eigrp-discovery.nse script:

nmap --script=broadcast-eigrp-discovery <targets>

nmap --script=broadcast-eigrp-discovery <targets> -e wlan0

Broadcast-eigrp-discovery NSE Script Example Output


Here's a sample output from the broadcast-eigrp-discovery.nse script:

Pre-scan script results:
| broadcast-eigrp-discovery:
| 192.168.2.2
|   Interface: eth0
|   A.S: 1
|   Virtual Router ID: 0
|   Internal Route
|     Destination: 192.168.21.0/24
|     Next hop: 0.0.0.0
|   Internal Route
|     Destination: 192.168.31.0/24
|     Next hop: 0.0.0.0
|   External Route
|     Protocol: Static
|     Originating A.S: 0
|     Originating Router ID: 192.168.31.1
|     Destination: 192.168.60.0/24
|     Next hop: 0.0.0.0
|   External Route
|     Protocol: OSPF
|     Originating A.S: 1
|     Originating Router ID: 192.168.31.1
|     Destination: 192.168.24.0/24
|     Next hop: 0.0.0.0
|_  Use the newtargets script-arg to add the results as targets

Broadcast-eigrp-discovery NSE Script Example XML Output


There is no sample XML output for this module. However, by providing the -oX <file> option, Nmap will produce a XML output and save it in the file.xml file.

Author


  • Hani Benhabiles

References


See Also


Related NSE scripts to the broadcast-eigrp-discovery.nse script:

Visit Nmap NSE Library for more scripts.

The broadcast-eigrp-discovery.nse script may fail with the following error messages. Check for the possible causes by using the code snippets highlighted below found in the script source code. This can often times help in identifying the root cause of the problem.

kparams should be of size 6.


Here is a relevant code snippet related to the "kparams should be of size 6." error message:

204:	  local timeout = (timeout or 10) * 1000
205:	
206:	  -- K params should be of length 6
207:	  -- Cisco routers ignore eigrp packets that don't have matching K parameters
208:	  if #kparams < 6 or #kparams > 6 then
209:	    return fail("kparams should be of size 6.")
210:	  else
211:	    k = {}
212:	    k[1] = string.sub(kparams, 1,1)
213:	    k[2] = string.sub(kparams, 2,2)
214:	    k[3] = string.sub(kparams, 3,3)

Failed to retrieve %s interface information.


Here is a relevant code snippet related to the "Failed to retrieve %s interface information." error message:

220:	  interface = interface or nmap.get_interface()
221:	  if interface then
222:	    -- If an interface was provided, get its information
223:	    interface = nmap.get_interface_info(interface)
224:	    if not interface then
225:	      return fail(("Failed to retrieve %s interface information."):format(interface))
226:	    end
227:	    interfaces = {interface}
228:	    stdnse.debug1("Will use %s interface.", interface.shortname)
229:	  else
230:	    local ifacelist = nmap.list_interfaces()

Couldn't get an A.S value.


Here is a relevant code snippet related to the "Couldn't get an A.S value." error message:

263:	
264:	    if #astab > 0 then
265:	      stdnse.debug1("Will use %s A.S value.", astab[1])
266:	      as = astab[1]
267:	    else
268:	      return fail("Couldn't get an A.S value.")
269:	    end
270:	  end
271:	
272:	  -- Craft Hello packet
273:	  eigrp_hello = eigrp.EIGRP:new(eigrp.OPCODE.HELLO, as)

Version


This page has been created based on Nmap version 7.92.

Go back to menu.