diff --git a/nmap.cc b/nmap.cc index e8f5953fc..f3e0c2f1e 100644 --- a/nmap.cc +++ b/nmap.cc @@ -1732,6 +1732,7 @@ int nmap_main(int argc, char *argv[]) { printmacinfo(currenths); // if (currenths->flags & HOST_UP) // log_write(LOG_PLAIN,"\n"); + printtimes(currenths); log_write(LOG_XML, "\n"); log_flush_all(); delete currenths; @@ -1915,11 +1916,8 @@ int nmap_main(int argc, char *argv[]) { if (o.traceroute) printtraceroute(currenths); - if (o.debugging) - log_write(LOG_STDOUT, "Final times for host: srtt: %d rttvar: %d to: %d\n", - currenths->to.srtt, currenths->to.rttvar, currenths->to.timeout); - log_write(LOG_XML, "\n", - currenths->to.srtt, currenths->to.rttvar, currenths->to.timeout); + printtimes(currenths); + log_write(LOG_PLAIN|LOG_MACHINE,"\n"); log_write(LOG_XML, "\n"); } diff --git a/output.cc b/output.cc index 3550eaf6b..b7384a30c 100644 --- a/output.cc +++ b/output.cc @@ -2201,6 +2201,17 @@ void printtraceroute(Target * currenths) { printtraceroute_xml(currenths); } +void printtimes(Target *currenths) { + if (currenths->to.srtt != -1 || currenths->to.rttvar != -1) { + if (o.debugging) { + log_write(LOG_STDOUT, "Final times for host: srtt: %d rttvar: %d to: %d\n", + currenths->to.srtt, currenths->to.rttvar, currenths->to.timeout); + } + log_write(LOG_XML, "\n", + currenths->to.srtt, currenths->to.rttvar, currenths->to.timeout); + } +} + /* Prints a status message while the program is running */ void printStatusMessage() { // Pre-computations diff --git a/output.h b/output.h index 404b333d0..05ea6ca6d 100644 --- a/output.h +++ b/output.h @@ -201,6 +201,9 @@ void printhostscriptresults(Target *currenths); /* Print a table with traceroute hops. */ void printtraceroute(Target *currenths); +/* Print "times for host" output with latency. */ +void printtimes(Target *currenths); + /* Print a detailed list of Nmap interfaces and routes to normal/skiddy/stdout output */ int print_iflist(void);