nmap是一款用于网络发现(Network Discovery)和安全审计(Security Auditing)的网络安全工具,它是自由软件。软件名字Nmap是Network Mapper的简称。通常情况下,Nmap用于:

  • 列举网络主机清单

  • 管理服务升级调度

  • 监控主机

  • 服务运行状况

Nmap可以检测目标机是否在线、端口开放情况、侦测运行的服务类型及版本信息、侦测操作系统与设备类型等信息。 它是网络管理员必用的软件之一,用以评估网络系统安全。

正如大多数工具被用于网络安全的工具,nmap 也是不少黑客骇客(又称脚本小孩)爱用的工具 。系统管理员可以利用nmap来探测工作环境中未经批准使用的服务器,但是黑客会利用nmap来搜集目标电脑的网络设定,从而计划攻击的方法。

Nmap通常用在信息搜集阶段(information gathering phase),用于搜集目标机主机的基本状态信息。扫描结果可以作为漏洞扫描(Vulnerability Scanning)、漏洞利用(Vulnerablity Exploit)、权限提升(Privilege Escalation)等阶段的输入。例如,业界流行的漏洞扫描工具Nesssus与漏洞利用工具Metasploit都支持导入Nmap的XML格式结果,而Metasploit框架内也集成了Nmap工具(支持Metasploit直接扫描)。

Nmap不仅可以用于扫描单个主机,也可以适用于扫描大规模的计算机网络(例如,扫描英特网上数万台计算机,从中找出感兴趣的主机和服务)。当然,扫描大规模的网络时,需要注意优化Nmap的各种时序及发包的参数,参数可以巨大地提高扫描性能。

目录

[隐藏]

外部链接[编辑]

Nmap核心功能[编辑]

主机发现(Host Discovery)

用于发现目标主机是否处于活动状态(Active)。
Nmap提供了多种检测机制,可以更有效地辨识主机。例如可用来列举目标网络中哪些主机已经开启,类似于Ping命令的功能。

端口扫描(Port Scanning)
用于扫描主机上的端口状态。
Nmap可以将端口识别为开放(Open)、关闭(Closed)、过滤(Filtered)、未过滤(Unfiltered)、开放|过滤(Open|Filtered)、关闭|过滤(Closed|Filtered)。默认情况下,Nmap会扫描1000个常用的端口,可以覆盖大多数基本应用情况。

版本侦测(Version Detection)
用于识别端口上运行的应用程序与程序版本。
Nmap目前可以识别数千种中应用的签名(Signatures),检测数百种应用协议。而对与不识别的应用,Nmap默认会将应用的指纹(Fingerprint)打印出来,如果用于确知该应用程序,那么用户可以将信息提交到社区,为社区做贡献。

操作系统侦测(OS detection)
用于识别目标机的操作系统类型、版本编号及设备类型。
Nmap目前提供了上千种操作系统或设备的指纹数据库,可以识别通用PC系统、路由器、交换机等设备类型。

防火墙/IDS规避(Firewall/IDS evasion)
Nmap提供多种机制来规避防火墙、IDS的的屏蔽和检查,便于秘密地探查目标机的状况。
基本的规避方式包括:分片(Fragment)/IP诱骗(IP decoys)/IP伪装(IP spoofing)/MAC地址伪装(MAC spoofing)等等。

NSE脚本引擎(Nmap Scripting Engine)
NSE是Nmap最强大最灵活的特性之一,可以用于增强主机发现、端口扫描、版本侦测、操作系统侦测等功能,还可以用来扩展高级的功能如web扫描、漏洞发现、漏洞利用等等。Nmap使用Lua语言来作为NSE脚本语言,目前的Nmap脚本库已经支持350多个脚本。

Nmap基本命令和典型用法[编辑]

  • 全面进攻性扫描(包括各种主机发现、端口扫描、版本扫描、OS扫描及默认脚本扫描):

nmap -A -v targetip
  • Ping扫描:

nmap -sn -v targetip
  • 快速端口扫描:

nmap -F -v targetip
  • 版本扫描:

nmap -sV -v targetip 
  • 操作系统扫描:

nmap -O -v targetip

其他[编辑]

Nmap 常被跟评估系统漏洞软件Nessus 混为一谈。Nmap 以隐秘的手法,避开闯入检测系统的监视,并尽可能不影响目标系统的日常操作。

Nmap 在黑客帝国(The Matrix)中,连同SSH1的32位元循环冗余校验漏洞,被崔妮蒂用以入侵发电站的能源管理系统。

来源于维基百科-http://zh.wikipedia.org/wiki/Nmap