We attempted to fix this twice already, so this change reverses r36709 (which simply ignored all Time Exceeded messages for host discovery, leading to long scan times when the TTL is insufficient) and r34557 (which used incorrect logic to match ICMP responses, resulting in ignoring all ICMP error messages in response to ICMP probes, e.g. Time Exceeded for Echo Request). Instead, we'll correctly verify that the ICMP ID of the *encapsulated datagram* matches the one for the probe we are attempting to match.
Nmap

Nmap is released under a custom license, which is based on (but not compatible with) GPLv2. The Nmap license allows free usage by end users, and we also offer a commercial license for companies that wish to redistribute Nmap technology with their products. See Nmap Copyright and Licensing for full details.
The latest version of this software as well as binary installers for Windows, macOS, and Linux (RPM) are available from Nmap.org
Full documentation is also available on the Nmap.org website.
Questions and suggestions may be sent to the Nmap-dev mailing list.
Installing
Ideally, you should be able to just type:
./configure
make
make install
For far more in-depth compilation, installation, and removal notes, read the Nmap Install Guide on Nmap.org.
Using Nmap
Nmap has a lot of features, but getting started is as easy as running nmap scanme.nmap.org. Running nmap without any parameters will give a helpful
list of the most common options, which are discussed in depth in the man
page. Users who prefer a graphical interface
can use the included Zenmap front-end.
Contributing
Information about filing bug reports and contributing to the Nmap project can be found in the HACKING and CONTRIBUTING.md files.