Checking a larger subnet than I normally do; mapping out a cluster suite in a university for a traffic mapping project (permission attained), and I was wondering something.

NMap usually prints its progress periodically, but I'm unclear to what that 'periodically' is, because the cirrent scan printed a line for basically every 100th of a percent up to 1% done, then one at 1.5%, and has said nothing since.

I suspect that it changes at different 'levels' but does anyone have an actual answer?

  • Have you looked at using the following switches -v: Increase verbosity level (use twice or more for greater effect) -d[level]: Set or increase debugging level (Up to 9 is meaningful) – Christopher Wilson Jun 9 '10 at 0:47
  • Yeah I've used those flags on several other occasions but basically fired this one off on a whim tonight; just wondering what the algorithm is for printing. I'm consulting the source now so hopefully I'll be able to answer later. – Andrew Bolster Jun 9 '10 at 0:58

You can get a status line during a running scan by pressing any key that is not bound to a function (press ? for a list of bindings).

Alternatively, you can pass the --stats-every option with a time value. So this: nmap --stats-every 1m would print a detailed (2-line) status every minute. This status line also shows in the XML output file.


After diving through the NMap source (particularly timing.cc) this is what I have for default verbosity and debugging values.

  • If the scan is < 0.003% done, don't print
  • If there is < 1% done, use the following rules, but don't print ETA's
  • If there's < 30 seconds estimated time remaining in the scan, don't print
  • If there's no estimated time, don't print
  • Otherwise, if a previous estimate has been passed (ETA in the past) print a new one
  • Finally, if there's been a change in the ETA of more than 3 minutes, or 5% change in progress, print a new ETA

I think that's basically it but if anyone finds any more rules, feel free to add them in comments and I'll edit them in.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.