From f1ef57e961866148abf6d28ccec69cef43c75e76 Mon Sep 17 00:00:00 2001 From: weilin Date: Sat, 3 Sep 2011 12:57:37 +0000 Subject: [PATCH] o [NSE] Check the link type of the interface before sending the multicast host discovery probe. --- scripts/targets-ipv6-multicast-echo.nse | 8 ++++++-- scripts/targets-ipv6-multicast-invalid-dst.nse | 8 ++++++-- scripts/targets-ipv6-multicast-slaac.nse | 8 ++++++-- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/scripts/targets-ipv6-multicast-echo.nse b/scripts/targets-ipv6-multicast-echo.nse index 1b6af4e19..b2cb22336 100644 --- a/scripts/targets-ipv6-multicast-echo.nse +++ b/scripts/targets-ipv6-multicast-echo.nse @@ -41,9 +41,13 @@ end action = function() local if_name = stdnse.get_script_args(SCRIPT_NAME .. ".interface") or nmap.get_interface() - local if_nfo = nmap.get_interface_info(if_name) + local if_nfo, err = nmap.get_interface_info(if_name) if not if_nfo then - stdnse.print_debug("Invalid interface: %s", if_name) + stdnse.print_debug(err) + return false + end + if if_nfo.link ~= "ethernet" then + stdnse.print_debug("Not a Ethernet link.") return false end local src_mac = if_nfo.mac diff --git a/scripts/targets-ipv6-multicast-invalid-dst.nse b/scripts/targets-ipv6-multicast-invalid-dst.nse index 0fe6301ea..9707d4fb1 100644 --- a/scripts/targets-ipv6-multicast-invalid-dst.nse +++ b/scripts/targets-ipv6-multicast-invalid-dst.nse @@ -58,9 +58,13 @@ end action = function() local if_name = stdnse.get_script_args(SCRIPT_NAME .. ".interface") or nmap.get_interface() - local if_nfo = nmap.get_interface_info(if_name) + local if_nfo, err = nmap.get_interface_info(if_name) if not if_nfo then - stdnse.print_debug("Invalid interface: %s", if_name) + stdnse.print_debug(err) + return false + end + if if_nfo.link ~= "ethernet" then + stdnse.print_debug("Not a Ethernet link.") return false end local src_mac = if_nfo.mac diff --git a/scripts/targets-ipv6-multicast-slaac.nse b/scripts/targets-ipv6-multicast-slaac.nse index ebf24ffdb..7152fe9e2 100644 --- a/scripts/targets-ipv6-multicast-slaac.nse +++ b/scripts/targets-ipv6-multicast-slaac.nse @@ -92,9 +92,13 @@ end action = function() local if_name = stdnse.get_script_args(SCRIPT_NAME .. ".interface") or nmap.get_interface() - local if_nfo = nmap.get_interface_info(if_name) + local if_nfo, err = nmap.get_interface_info(if_name) if not if_nfo then - stdnse.print_debug("Invalid interface: %s", if_name) + stdnse.print_debug(err) + return false + end + if if_nfo.link ~= "ethernet" then + stdnse.print_debug("Not a Ethernet link.") return false end local src_mac = if_nfo.mac