它曾经在电影《黑客帝国》中出现过,是黑客和网络安全人员经常用到的工具.
nmap是一个开源免费的网络发现工具,通过它能够找出网络上在线的主机,并测试主机上哪些端口处于监听状态,接着通过端口确定主机上运行的应用程序类型与版本信息,最后利用它还能侦测出操作系统的类型和版本。
一、nmap基本功能与结构
主要有如下四个基本功能:
- 主机发现。
- 端口扫描。
- 应用程序及版本侦测。
- 操作系统及版本侦测。
典型用法
namp 目标主机
image.png通过这个命令,可以确定目标主机的在线情况和端口的监听状态,如图:
其它用法
如果希望了解目标主机更多的信息,可以通过完全扫描的方式实现,nmap命令内置了“-A”选项,可以实现对目标主机进行主机发现、端口扫描、应用程序与版本侦测、操作系统识别等完整全面的扫描,命令形式如下:
nmap -T4 -A -v 目标主机
其中,
- “-A”选项用于开启全面扫描;
- “-T4”指定扫描过程中使用的时序模板,总共有6个等级(0~5),等级越高,扫描速度越快,但也越容易被防火墙或者入侵检测设备发现并屏蔽,所以选择一个适当的扫描等级非常重要,这里推荐使用“-T4”;
-
“-v”参数可显示扫描细节。
image.png
nmap主机发现扫描
主机发现主要用来判断目标主机是否在线,其扫描原理类似于ping命令,通过发送探测数据包到目标主机,如果能收到回复,那么认为目标主机处于在线状态。nmap支持多种不同的主机探测方法,例如发送TCP SYN/ACK包、发送SCTP包、主机发现主要用来判断目标主机是否在线,其扫描原理类似于ping命令,通过发送探测数据包到目标主机,如果能收到回复,那么认为目标主机处于在线状态。nmap支持多种不同的主机探测方法,例如发送TCP SYN/ACK包、发送SCTP包、
nmap [选项或参数] 目标主机
image.png
比较常用的是“-sn”和“-Pn”,例如,查看某个网段有哪些主机在线,就需要使用“-sn”选项,而如果已经知道了目标主机在线,仅仅想扫描主机开放的端口时,就需要用“-Pn”选项。
nmap端口扫描
端口扫描是nmap最核心的功能,通过端口扫描可以发现目标主机上TCP、UDP端口的开放情况。nmap在默认状态下会扫描1000个最有可能开放的端口,并将侦测到的端口状态分为6类,分别是:
- open,表示端口是开放的。
- closed,表示端口是关闭的。
- filtered,表示端口被防火墙屏蔽,无法进一步确定状态。
- unfiltered,表示端口没有被屏蔽,但是否处于开放状态,还需要进一步确定。
- open|filtered,表示不确定状态,端口可能是开放的,也可能是屏蔽的。
- closed|filtered,表示不确定状态,端口可能是关闭的,也可能是屏蔽的。
在端口扫描方式上,nmap支持10多种探测方法,最常用的有“TCP SYN scanning”,这是默认的端口扫描方式,另外还有“TCP connect scan-ning”、“TCP ACK scanning”、“TCP FIN/Xmasscanning”、“UDP scanning”等探测方式。具体使用哪种探测方式,用户可自己指定。
端口扫描的用法:nmap [选项或参数] 目标主机
image.png
nmap版本侦测
nmap [选项或参数] 目标主机
image.png
nmap操作系统侦测
nmap [选项或参数] 目标主机
image.png
网友评论