13

I've noticed that nmap only scans a bunch of known ports, and the only way i've managed to check 'em all is to put a "-p 0-65535" in.

Why is that? am I wrong? is there a more popular way to scan all ports aside from what I've done?

  • This is the default behaviour of nmap. – drcelus May 23 '12 at 10:40
23
+50

By default, Nmap scans the top 1000 most popular ports, according to the statistics generated from Internet-wide scans and large internal network scans from the summer of 2008. There are a few options that change this: -F reduces the number to 100, -p allows you to specify which ports to scan, and --top-ports lets you specify how many of the most popular ports to scan. This means that the default scan is equivalent to --top-ports 1000, and -F is the same as --top-ports 100.

These numbers were set in version 4.75, and were a change from the roughly 1700 (TCP) ports that were the default in version 4.68. The purpose was to decrease scanning times while still giving reasonable results. The flexibility of Nmap's command-line options guarantees that you can still scan just about any combination of ports that you want, regardless of the defaults.

Scanning all 65536 TCP ports is still possible with -p0-, but it will take a very long time. Scanning all UDP ports with -sU -p0- will take even longer, because of the way that open ports are detected.

  • Thanks for that detail. Just as a heads up for future readers, since 2008 programs like redis(6379) have become popular on ports that aren't included. Also, you can list which ports these are with the following commands: TCP: nmap -sT --top-ports 1000 -v -oG - UDP: nmap -sU --top-ports 1000 -v -oG - – flickerfly Nov 6 '17 at 14:22
  • 1
    @flickerfly True. We do keep the services file updated with the latest names from IANA and give a slight artificial boost to the stats of a few popular ports like docker and redis, but it doesn't affect the default set of 1000 usually. – bonsaiviking Nov 6 '17 at 17:40
  • @bonsaiviking AFAIK Redis is listed in IANA's records (I gorram made sure of that) - please verify :) – Itamar Haber Jan 23 '18 at 16:01
  • 1
    @ItamarHaber It is listed, and since this answer was written, we (Nmap) have added a process to integrate the latest names from IANA prior to release. The port frequency data has not yet been updated, though, so that part of the answer remains the same. – bonsaiviking Jan 23 '18 at 19:02
  • 1
    @ItamarHaber The creator of Redis, Salvatore Sanfilippo, a.k.a. antirez, invented the "idle scan" port scanning technique used by Nmap. – bonsaiviking Feb 11 at 4:57
19

Well if you don't want to put the port range you can always just give the

-p-

argument, which will scan, by default, all the ports, except port 0. For port 0, you have to explicitly specify it.

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.