From 4d0a8a27b12489e2d8cc4b7edfc9adb1f9f0829d Mon Sep 17 00:00:00 2001 From: david Date: Thu, 8 Sep 2011 16:11:21 +0000 Subject: [PATCH] Show a visible error when targets-ipv6-* are run without an interface. --- 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 b2cb22336..dfab2fde5 100644 --- a/scripts/targets-ipv6-multicast-echo.nse +++ b/scripts/targets-ipv6-multicast-echo.nse @@ -25,8 +25,7 @@ require 'packet' local bit = require 'bit' prerule = function() - return nmap.is_privileged() and - (stdnse.get_script_args(SCRIPT_NAME .. ".interface") or nmap.get_interface()) + return nmap.is_privileged() end catch = function() @@ -41,6 +40,11 @@ end action = function() local if_name = stdnse.get_script_args(SCRIPT_NAME .. ".interface") or nmap.get_interface() + if not if_name then + return "Error: need an interface name.\n" + .. "Use -e or --script-args " .. SCRIPT_NAME .. ".interface=." + end + local if_nfo, err = nmap.get_interface_info(if_name) if not if_nfo then stdnse.print_debug(err) diff --git a/scripts/targets-ipv6-multicast-invalid-dst.nse b/scripts/targets-ipv6-multicast-invalid-dst.nse index 9707d4fb1..047dd82bd 100644 --- a/scripts/targets-ipv6-multicast-invalid-dst.nse +++ b/scripts/targets-ipv6-multicast-invalid-dst.nse @@ -26,8 +26,7 @@ require 'packet' local bit = require 'bit' prerule = function() - return nmap.is_privileged() and - (stdnse.get_script_args(SCRIPT_NAME .. ".interface") or nmap.get_interface()) + return nmap.is_privileged() end catch = function() @@ -58,6 +57,11 @@ end action = function() local if_name = stdnse.get_script_args(SCRIPT_NAME .. ".interface") or nmap.get_interface() + if not if_name then + return "Error: need an interface name.\n" + .. "Use -e or --script-args " .. SCRIPT_NAME .. ".interface=." + end + local if_nfo, err = nmap.get_interface_info(if_name) if not if_nfo then stdnse.print_debug(err) diff --git a/scripts/targets-ipv6-multicast-slaac.nse b/scripts/targets-ipv6-multicast-slaac.nse index 7152fe9e2..a7516a0bf 100644 --- a/scripts/targets-ipv6-multicast-slaac.nse +++ b/scripts/targets-ipv6-multicast-slaac.nse @@ -36,8 +36,7 @@ require "os" require "math" prerule = function() - return nmap.is_privileged() and - (stdnse.get_script_args(SCRIPT_NAME .. ".interface") or nmap.get_interface()) + return nmap.is_privileged() end catch = function() @@ -92,6 +91,11 @@ end action = function() local if_name = stdnse.get_script_args(SCRIPT_NAME .. ".interface") or nmap.get_interface() + if not if_name then + return "Error: need an interface name.\n" + .. "Use -e or --script-args " .. SCRIPT_NAME .. ".interface=." + end + local if_nfo, err = nmap.get_interface_info(if_name) if not if_nfo then stdnse.print_debug(err)