Nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。在不同情况下,你可能需要隐藏扫描、越过防火墙扫描或者使用不同的协议进行扫描,比如:UDP、TCP、ICMP 等。它支持:Vanilla TCP connect 扫描、TCP SYN(半开式)扫描、TCP FIN、Xmas、或NULL(隐藏)扫描、TCP ftp代理(跳板)扫描、SYN/FIN IP 碎片扫描(穿越部分数据包过滤器)、TCP ACK和窗口扫描、UDP监听ICMP端口无法送达扫描、ICMP扫描(狂ping)、TCP Ping扫描、直接RPC扫描(无端口映射)、TCP/IP指纹识别远程操作系统,以及相反身份认证扫描等。Namp同时支持性能和可靠性统计,例如:动态延时计算,数据包超时和转发,并行端口扫描,通过并行ping侦测下层主机。Nmap通过并行的PING侦测下属的主机、欺骗扫描、端口过滤探测、直接的RPC扫描、分布扫描等特色,是一款帮助用户进行网络管理的好工具。
用于识别端口上运行的应用程序与程序版本。
目前可以识别数千种应用的签名(Signatures),检测数百种应用协议。而对于不识别的应用,软件默认会将应用的指纹(Fingerprint)打印出来,如果用户确知该应用程序,那么用户可以将信息提交到社区,为社区做贡献。
2、操作系统侦测(OS detection)
用于识别目标机的操作系统类型、版本编号及设备类型。
目前提供了上千种操作系统或设备的指纹数据库,可以识别通用PC系统、路由器、交换机等设备类型。
3、防火墙/IDS规避(Firewall/IDS evasion)
提供多种机制来规避防火墙、IDS的的屏蔽和检查,便于秘密地探查目标机的状况。
基本的规避方式包括:分片(Fragment)/IP诱骗(IP decoys)/IP伪装(IP spoofing)/MAC地址伪装(MAC spoofing)等等。
4、NSE脚本引擎(Nmap Scripting Engine)
NSE是其最强大最灵活的特性之一,可以用于增强主机发现、端口扫描、版本侦测、操作系统侦测等功能,还可以用来扩展高级的功能如web扫描、漏洞发现、漏洞利用等等。使用Lua语言来作为NSE脚本语言,目前其脚本库已经支持350多个脚本。
5、主机发现(Host Discovery)
用于发现目标主机是否处于活动状态(Active)。
提供了多种检测机制,可以更有效地辨识主机。例如可用来列举目标网络中哪些主机已经开启,类似于Ping命令的功能。
6、端口扫描(Port Scanning)
用于扫描主机上的端口状态。
可以将端口识别为开放(Open)、关闭(Closed)、过滤(Filtered)、未过滤(Unfiltered)、开放|过滤(Open|Filtered)、关闭|过滤(Closed|Filtered)。默认情况下,会扫描1000个常用的端口,可以覆盖大多数基本应用情况。
2、右键点击计算机选择“属性”
3、点击“高级系统设置”
4、点击“环境变量”
5、点击“新建”,输入变量名:“LANG”,变量值:“pt_BR”,点击确定
6、打开软件目录(右键点击桌面软件图标选择“属性”,点击“打开文件位置”)
7、打开share\zenmap\locale\pt_BR\LC_MESSAGES目录,将汉化文件“zenmap.mo”复制入内覆盖原文件即可。
解开软件命令行版的压缩包之后,进入Windows的命令控制台,再转到安装软件的目录(如果经常要用软件,最好把它的路径加入到PATH环境变量)。不带任何命令行参数
。GUI版的功能基本上和命令行版本一样,鉴于许多人更喜欢用命令行版本,本文后面的说明就以命令行版本为主。 下面是软件支持的四种最基本的扫描方式:
⑴ TCP connect() 端口扫描(-sT参数)。
⑵ TCP同步(SYN)端口扫描(-sS参数)。
⑶ UDP 端口扫描(-sU参数)。
⑷ Ping扫描(-sP参数)。
如果要勾画一个网络的整体情况,Ping扫描和TCP SYN扫描最为实用。Ping扫描通过发送ICMP (Internet Control Message Protocol,Internet控制消息协议)回应请求数据包和TCP应答(Acknowledge,简写ACK)数据包,确定主机的状态,非常适合于检测指定网段内正在运行的主机数量。
TCP SYN扫描一下子不太好理解,但如果将它与TCP connect()扫描比较,就很容易看出这种扫描方式的特点。在TCP connect()扫描中,扫描器利用操作系统本身的系统调用打开一个完整的TCP连接——也就是说,扫描器打开了两个主机之间的完整握手过程(SYN,SYN-ACK,和ACK)。一次完整执行的握手过程表明远程主机端口是打开的。
TCP SYN扫描创建的是半打开的连接,它与TCP connect()扫描的不同之处在于,TCP SYN扫描发送的是复位(RST)标记而不是结束ACK标记(即,SYN,SYN-ACK,或RST):如果远程主机正在监听且端口是打开的,远程主机用SYN-ACK应答,Nmap发送一个RST;如果远程主机的端口是关闭的,它的应答将是RST,此时软件转入下一个端口。
功能特色
1、版本侦测(Version Detection)用于识别端口上运行的应用程序与程序版本。
目前可以识别数千种应用的签名(Signatures),检测数百种应用协议。而对于不识别的应用,软件默认会将应用的指纹(Fingerprint)打印出来,如果用户确知该应用程序,那么用户可以将信息提交到社区,为社区做贡献。
2、操作系统侦测(OS detection)
用于识别目标机的操作系统类型、版本编号及设备类型。
目前提供了上千种操作系统或设备的指纹数据库,可以识别通用PC系统、路由器、交换机等设备类型。
3、防火墙/IDS规避(Firewall/IDS evasion)
提供多种机制来规避防火墙、IDS的的屏蔽和检查,便于秘密地探查目标机的状况。
基本的规避方式包括:分片(Fragment)/IP诱骗(IP decoys)/IP伪装(IP spoofing)/MAC地址伪装(MAC spoofing)等等。
4、NSE脚本引擎(Nmap Scripting Engine)
NSE是其最强大最灵活的特性之一,可以用于增强主机发现、端口扫描、版本侦测、操作系统侦测等功能,还可以用来扩展高级的功能如web扫描、漏洞发现、漏洞利用等等。使用Lua语言来作为NSE脚本语言,目前其脚本库已经支持350多个脚本。
5、主机发现(Host Discovery)
用于发现目标主机是否处于活动状态(Active)。
提供了多种检测机制,可以更有效地辨识主机。例如可用来列举目标网络中哪些主机已经开启,类似于Ping命令的功能。
6、端口扫描(Port Scanning)
用于扫描主机上的端口状态。
可以将端口识别为开放(Open)、关闭(Closed)、过滤(Filtered)、未过滤(Unfiltered)、开放|过滤(Open|Filtered)、关闭|过滤(Closed|Filtered)。默认情况下,会扫描1000个常用的端口,可以覆盖大多数基本应用情况。
安装汉化教程
1、我们首先安装7.7.0英文原版文件2、右键点击计算机选择“属性”
3、点击“高级系统设置”
4、点击“环境变量”
5、点击“新建”,输入变量名:“LANG”,变量值:“pt_BR”,点击确定
6、打开软件目录(右键点击桌面软件图标选择“属性”,点击“打开文件位置”)
7、打开share\zenmap\locale\pt_BR\LC_MESSAGES目录,将汉化文件“zenmap.mo”复制入内覆盖原文件即可。
使用说明
常用扫描类型解开软件命令行版的压缩包之后,进入Windows的命令控制台,再转到安装软件的目录(如果经常要用软件,最好把它的路径加入到PATH环境变量)。不带任何命令行参数
。GUI版的功能基本上和命令行版本一样,鉴于许多人更喜欢用命令行版本,本文后面的说明就以命令行版本为主。 下面是软件支持的四种最基本的扫描方式:
⑴ TCP connect() 端口扫描(-sT参数)。
⑵ TCP同步(SYN)端口扫描(-sS参数)。
⑶ UDP 端口扫描(-sU参数)。
⑷ Ping扫描(-sP参数)。
如果要勾画一个网络的整体情况,Ping扫描和TCP SYN扫描最为实用。Ping扫描通过发送ICMP (Internet Control Message Protocol,Internet控制消息协议)回应请求数据包和TCP应答(Acknowledge,简写ACK)数据包,确定主机的状态,非常适合于检测指定网段内正在运行的主机数量。
TCP SYN扫描一下子不太好理解,但如果将它与TCP connect()扫描比较,就很容易看出这种扫描方式的特点。在TCP connect()扫描中,扫描器利用操作系统本身的系统调用打开一个完整的TCP连接——也就是说,扫描器打开了两个主机之间的完整握手过程(SYN,SYN-ACK,和ACK)。一次完整执行的握手过程表明远程主机端口是打开的。
TCP SYN扫描创建的是半打开的连接,它与TCP connect()扫描的不同之处在于,TCP SYN扫描发送的是复位(RST)标记而不是结束ACK标记(即,SYN,SYN-ACK,或RST):如果远程主机正在监听且端口是打开的,远程主机用SYN-ACK应答,Nmap发送一个RST;如果远程主机的端口是关闭的,它的应答将是RST,此时软件转入下一个端口。
∨ 展开