diff --git a/CHANGELOG b/CHANGELOG index 70b5b0aa3..0332b8a04 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -34,12 +34,15 @@ 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 Service detection (-sV) and OS detection (-O) are now disabled when used + with the IPProto Scan (-sO). When Nmap would try to run the Service Scan + after the IPProto Scan, it would cause it to fail without outputting the + protocol information, or performing any other tasks (like Traceroute). + When trying to perform OS detection, it would use the protocol information + it got from the IPProto Scan to try to get the port numbers to use. 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] diff --git a/NmapOps.cc b/NmapOps.cc index 36bf3f9a1..0f3ef8a02 100644 --- a/NmapOps.cc +++ b/NmapOps.cc @@ -437,6 +437,11 @@ 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 (osscan && ipprotscan) { + error("WARNING: Disabling OS Scan (-O) as it is incompatible with the IPProto Scan (-sO)"); + osscan = 0; + } + if (servicescan && ipprotscan) { error("WARNING: Disabling Service Scan (-sV) as it is incompatible with the IPProto Scan (-sO)"); servicescan = 0;