diff --git a/CHANGELOG b/CHANGELOG index de5b1dd72..70b5b0aa3 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -34,6 +34,13 @@ o Fixed a traceroute bug related to tracing between interfaces of a multi-homed host. Thanks to David Fifield for reporting the problem and Eddie Bell for the fix. +o Service detection (-sV) is now disabled when used with the IPProto Scan + (-sO). Nmap would try to run the Service Scan after the IPProto Scan, + which would cause it to fail without outputting the protocol information, + or performing any other tasks (like Traceroute). The Service Detection + line informing you where to send incorrect results is no longer outputted + when using the Service Scan with the Ping Scan (-sP) either. [Kris] + o Updated IANA assignment IP list for random IP (-iR) generation. [Kris] 4.21ALPHA4 diff --git a/NmapOps.cc b/NmapOps.cc index dbf84c27d..36bf3f9a1 100644 --- a/NmapOps.cc +++ b/NmapOps.cc @@ -437,6 +437,14 @@ void NmapOps::ValidateOptions() { fatal("WARNING: OS Scan is unreliable with a ping scan. You need to use a scan type along with it, such as -sS, -sT, -sF, etc instead of -sP"); } + if (servicescan && ipprotscan) { + error("WARNING: Disabling Service Scan (-sV) as it is incompatible with the IPProto Scan (-sO)"); + servicescan = 0; + } + + if (servicescan && pingscan) + servicescan = 0; + if (defeat_rst_ratelimit && !synscan) { fatal("Option --defeat-rst-ratelimit works only with a SYN scan (-sS)"); }