1、
Nmap(Network Mapper)是一款网络探测和安全审核的自由软件。虽然它也能扫描单一的主机,但当初设计它的目的是为了快速扫描很大范围的网络。Nmap采用新的方法分析原始的IP包,能确定网络上有哪些可用的主机、主机提供哪些服务(应用程序名和版本号)、运行的操作系统(及其版本号)、使用的包过滤器和防火墙,以及其他一系列功能。Nmap可以在绝大多数计算机上运行,除了有命令行版本之外,还有带GUI的版本。Nmap是一款自由软件,只要遵守GNU 通用公共许可证(GPL),就可以使用完整的源代码。

2、
Nmap是用C++编写的,虽然C++经常被称为“带类的C”。Nmap使用了标准模板库,但不多
3、
Nmap被开发用于允许系统管理员察看一个大的网络系统有哪些主机以及其上运行何种服务。它支持多种协议的扫描如UDP,TCP connect(),TCP SYN (half open), ftp proxy (bounce attack),Reverse-ident,ICMP (ping sweep), FIN, ACK sweep,Xmas Tree, SYN sweep, 和Null扫描。你可以从SCAN TYPES一节中察看相关细节。Nmap还提供一些实用功能如通过tcp/ip来甄别操作系统类型、秘密扫描、动态延迟和重发、平行扫描、通过并行的PING侦测下属的主机、欺骗扫描、端口过滤探测、直接的RPC扫描、分布扫描、灵活的目标选择以及端口的描述。
  对非ROOT的用户来说,Nmap的正式版可以做很多重要的东西了。不幸的是部份关键的核心功能(比如rawsockets)需要root权限。所以尽量以root的身份运行Nmap。
  运行Nmap后通常会得到一个关于你扫描的机器的一个实用的端口列表。Nmap总是显示该服务的服务名称,端口号,状态以及协议。状态有'open','filtered'和'unfiltered'三种。'open'指的是目标机器将会在该端口接受你的连接请求。'filtered'指的是有防火墙、过滤装置或者其它的网络障碍物在这个端口阻挡了Nmap 进一步查明端口是否开放的动作。至于'unfiltered'则只有在大多数的扫描端口都处在'filtered'状态下才会出现的。
  根据选项的使用,Nmap还可以报告远程主机下面的特性:使用的操作系统、TCP连续性、在各端口上绑定的应用程序用户的用户名、DNS名、主机是否是个smurf地址以及一些其它功能。
   选项
  这些选项通常都是可组合使用的。使用参数可以精确地定义一个扫描模式。Nmap将会尽力捕捉并对不规范的参数组合作出提示。如果你急于开始,你可以跳过本文未尾的示例节——那儿有最基本的使用方法的示范。你也可以使用Nmap -h来打开关于Nmap选项参数的简介