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:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user