1
0
mirror of https://github.com/nmap/nmap.git synced 2025-12-24 16:39:03 +00:00

More accurate handling of obscure ICMP-based connect errors.

This commit is contained in:
dmiller
2016-10-12 15:26:55 +00:00
parent 594756bd1d
commit fbc9ddae92

View File

@@ -278,6 +278,10 @@ static void handleConnectResult(UltraScanInfo *USI, HostScanStats *hss,
break;
#ifdef ENOPROTOOPT
case ENOPROTOOPT:
newhoststate = HOST_DOWN;
newportstate = PORT_FILTERED;
current_reason = ER_PROTOUNREACH;
break;
#endif
case EHOSTUNREACH:
newhoststate = HOST_DOWN;
@@ -301,6 +305,12 @@ static void handleConnectResult(UltraScanInfo *USI, HostScanStats *hss,
newportstate = PORT_FILTERED;
current_reason = ER_NETUNREACH;
break;
case ENONET:
/* For Linux at least, this means ICMP type 3 code 8, source host isolated */
newhoststate = HOST_DOWN;
newportstate = PORT_FILTERED;
current_reason = ER_DESTUNREACH;
break;
case ENETDOWN:
case ENETRESET:
case ECONNABORTED: