Viene calcolata la frazione di completamento per host ( scan_engine.cc UltraScanInfo::getCompletionFraction() ) as :
ports_finished * ( maxtries - 1 ) + probes_sent
_______________________________________________
maxtries * numprobes
La percentuale di completamento totale viene calcolata da questo attraverso tutti gli host.
In una scansione TCP ( -sT ) il numero di sonde numprobes è fissato al numero di porte (
scan_engine.cc UltraScanInfo::numProbesPerHost() ) e non cambia mai dopo l'inizializzazione, quindi maxtries è il termine interessante del calcolo. ports_finished e probes_sent sono contatori incrementali, il precedente funziona a 1.0 quando ports_finished == probes_sent == numprobes . numprobes sarà 1000, il numero predefinito di sonde TCP nell'esempio che hai fornito.
Se maxtries aumenta (a causa del timeout e riprova) la quantità stimata di lavoro da fare aumenta, e quindi la frazione di lavoro completata diminuisce. ( --max-retries può controllare questo, anche se con -sT per la connessione TCP dallo stack IP OS connect() alcuni degli altri parametri timeout / retry che i supporti di nmap sono inefficaci).
Il conteggio di maxtries non è ingenuo, è il limite massimo di tentativi (+1) per una porta esplorata con successo nella scansione fino a quel momento. Se aggiungi -d (debug) vedrai il messaggio "Aumento di max_successful_tryno per 1.2.3.4 a 1 (caduta di pacchetti)". Questo non è lo stesso messaggio di "Aumento del ritardo di invio ...". Probabilmente vedrai entrambi i messaggi quando c'è una perdita di pacchetti durante una scansione.
Quello che hai visto allora è un probe TCP riuscito per un host, ma ha richiesto un nuovo tentativo, si è verificato tardi nella scansione ed è riuscito ad aumentare il limite superiore della stima del lavoro. Probabilmente ha corretto il completamento di oltre l'1% e la perdita di pacchetti probabilmente causa un aumento dei timeout, riducendo la velocità di scansione. Sono trascorsi circa 4 minuti tra le due linee di stato, quindi il calo nel completamento non era semplicemente dello 0,01%.
Il tempo di scansione del servizio è un calcolo separato.