The Nmap project tries to defy the stereotype of some open source software being poorly documented by providing a comprehensive set of documentation for installing and using Nmap. This page links to official Insecure.Org documentation, and generous contributions from other parties.
Nmap Reference Guide
The primary documentation for using Nmap is the Nmap Reference Guide. This is also the basis for the Nmap man page (nroff version of nmap.1). It is regularly updated for each release and is meant to serve as a quick-reference to virtually all Nmap command-line arguments, but you can learn even more about Nmap by reading it straight through. The 18 sections include Brief Options Summary, Firewall/IDS Evasion and Spoofing, Timing and Performance, Port Scanning Techniques, Usage Examples, and much more.
The original Nmap manpage has been translated into 15 languages. That is fantastic, as it makes Nmap more accessible around the world. The following languages are now available:
The links above go to the HTML guide. Nroff (man page format) and DocBook XML (source) versions of each man page translation can be found here. If you would like to update one of our existing translations or translate to a language not mentioned above, please read the instructions and FAQ and then mail our developers or open a pull request on Github. It is a lot of work, but the reward is that thousands of people may benefit from your translation every month.
Nmap Network Scanning is the official guide to Nmap. From explaining port scanning basics for novices to detailing low-level packet crafting methods used by advanced hackers, this book by Nmap's original author suits all levels of security and networking professionals. The reference guide documents every Nmap feature and option, while the remainder demonstrates how to apply them to quickly solve real-world tasks. Examples and diagrams show actual communication on the wire. Topics include subverting firewalls and intrusion detection systems, optimizing Nmap performance, and automating common networking tasks with the Nmap Scripting Engine. More than half of the book is available free online. It was written in English but has already been translated to other languages.
Other Insecure.Org Documentation
Installation is made easy by the detailed Nmap Installation Guide. This covers topics such as UNIX compilation and configure directives and Installing Nmap on Linux, Windows, Mac OS X, Free/Open/NetBSD, Solaris, Amiga, and HP-UX. It also covers Nmap removal in case you change your mind.
One of Nmap's most exciting new features is the Nmap Scripting Engine, which extends Nmap's functionality using the simple and efficient Lua programming language. Nmap includes about 50 valuable scripts for network discovery and vulnerability detection, and you can also write your own. We describe the system in depth (from simple usage instructions to writing your own scripts) in our NSE guide. We also have an NSE Documentation Portal which includes detailed documentation for every NSE script and library.
Fyodor regularly gives conference presentations covering advanced Nmap usage and new features. Audio, video, and/or slides for many of these are available on his presentations page.
Interested in how nmap uses TCP/IP fingerprinting for remote OS detection? We have written a detailed article on the 2nd Generation Nmap OS Detection System. We also have an old article about the 1st generation system, which people have generously translated into French, Portuguese, Italian, Russian, Spanish, German, Japanese, Chinese, Traditional Chinese (Big5), Turkish, Hebrew, Indonesian, Dutch. Polish, and Swedish.
Nmap Version Detection: Instead of using a simple
nmap-services table lookup to determine a port's likely purpose, Nmap
will (if asked) interrogate that TCP or UDP port to determine what
service is really listening. In many cases it can determine the
application name and version number as well. Obstacles like SSL
encryption and Sun RPC are no threat, as Nmap can connect using
OpenSSL (if available) as well as utilizing Nmap's RPC
bruteforcer. IPv6 is also supported. Learn all about this great
feature in our Version Detection Paper
Nmap now has an official cross-platform GUI named Zenmap. It is included in most of the packages on the Nmap download page. It is documented in the Zenmap User's Guide. More information is available from the Zenmap site and Zenmap man page.
One of the coolest, yet still relatively obscure features of Nmap is the IPID Idle scan (-sI). Not only does this allow for a completely blind portscan (no packets sent to the target from your real IP), but it can even allow you to bypass packet filters in certain circumstances. We wrote a Idle scanning paper describing this technique as well as several other exploits based on predictable IPID sequence numbers. It includes real-life examples as well as a section on defending yourself from these techniques.
The most important changes (features, bugfixes, etc) in each Nmap version are described in its ChangeLog.
While it is now only of historical interest, Nmap was first released in a September 1, 1997 Phrack 51 Article titled The Art of Port Scanning
This section covers books written/co-authored by Nmap author Fyodor or that cover Nmap extensively.
- Nmap Network Scanning is the official guide to Nmap. From explaining port scanning basics for novices to detailing low-level packet crafting methods used by advanced hackers, this book by Nmap's original author suits all levels of security and networking professionals. The reference guide documents every Nmap feature and option, while the remainder demonstrates how to apply them to quickly solve real-world tasks. Examples and diagrams show actual communication on the wire. Topics include subverting firewalls and intrusion detection systems, optimizing Nmap performance, and automating common networking tasks with the Nmap Scripting Engine. More than half of the book is available free online. It was written in English but has already been translated to other languages.
- Fyodor has co-authored Stealing the Network: How to Own a Continent, a novel on hacking, along with FX, Joe Grand, Kevin Mitnick, Ryan Russell, Jay Beale, and several others. Their individual stories combine to describe a massive electronic financial heist. While the work is fiction, hacks are described in depth using real technology such as Nmap, Hping2, OpenSSL, etc. Stealing the Network: How to Own a Continent can be purchased at Amazon (save $17), and your can read Fyodor's chapter online for free. STC was a best-seller, ranking for a while as the second-highest selling computer book on Amazon.
- Syngress has released a sequel: Stealing the Network: How to Own an Identity. They have generously allowed Fyodor to post his favorite chapter for free. So enjoy Bl@ckTo\/\/3r, by Nmap contributor Brian Hatch. It is full of wry humor and creative security conundrums to keep the experts entertained, while it also offers security lessons on the finer points of SSH, SSL, and X Windows authentication and encryption.
- Paulino Calderón Pale has written Nmap 6: Network Exploration and Security Auditing Cookbook (also available directly through Packt Publishing).
- Paulino has also written Mastering the Nmap Scripting Engine (also available directly through Packt Publishing).
- James Messer has written Secrets of Network Cartography, a 230-page eBook on Nmap. PDFs can be purchased, or you can view the ad-supported HTML version for free.
- Syngress has released Nmap in the Enterprise: Your Guide to Network Scanning by Angela Orebaugh and Becky Pinkard.
3rd Party Docs
Some of the best (and certainly most creative!) documentation has been contributed by Nmap users themselves. If you write an interesting or useful document about Nmap, please send the announcement to nmap-dev or directly to Fyodor.
A detailed Nmap Tutorial was maintained between 2003 and 2006 by Andrew Bennieston (Stormhawk).
Mohamed Aly has created this single-page (PDF) Nmap Mindmap as a convenient reference to all of the major Nmap options. 
Long-time Nmap contributor Lamont Granquist wrote a clear and useful (if dated) guide to getting started with nmap.