在Web攻防的过程中对有关主机存活、应用版本扫描的相关工具中,Nmap是最常使用的信息收集工具。
Nmap是一款开源的网络探测和安全审核的工具。它的设计目标是快速地扫描大型网络。Nmap可以探测网络中有哪些主机存活,这些主机都提供了什么服务(应用程序名和版本),这些服务运行在什么操作系统中(包括版本信息)。虽然Nmap通常用于安全审核,许多系统管理员和网络管理员也用它来做一些日常的工作,比如查看整个网络的信息,管理服务升级计划,以及监视主机和服务的运行。
Nmap可以检测目标主机是否在线、端口开放情况、侦测运行的服务类型及版本信息、侦测操作系统与设备类型等信息。它是网络管理员必用的软件之一,用以评估网络系统安全。Nmap通常用在信息搜集阶段,用于搜集目标机主机的基本状态信息。扫描结果可以作为漏洞扫描、漏洞利用和权限提升阶段的输入。
Nmap主要使用的功能有四项:主机存活检测、端口探测、服务识别和操作系统识别。
1.主机存活检测
Nmap扫描方式为如下几种:
-sS/sT/sA/sW/sM //TCPSYN/TCPconnect()/ACK/TCP窗口扫描/TCPMaimon扫描。
-sU //UDP扫描。
-sN/sF/sX //TCPNull,FIN,andXmas扫描。
--scanflags //自定义TCP包中的flags。
-sIzombiehost[:probeport] //Idlescan。
-sY/sZ //SCTP INIT/COOKIE-ECHO扫描。
-sO //使用IPprotocol扫描确定目标机支持的协议类型。
-b“FTPrelayhost” //使用FTPbouncescan。
主机存活发现可以使用-sn后面跟上IP地址全网段,如nmap-sn192.168.22.0/24
Nmap支持多种形式的扫描方式,其中sS称为半开扫描,因为sS扫描并不需要完成三次握手,发送syn包后,对端回syn、ack包就认为是存活,结束本次连接,不会再回ack包。最大的好处是很少有系统能够把这记入系统日志,有隐蔽性。
Pn这个参数在实际工作中使用也是比较多,主要用于针对有防火墙开启的情况,加上这个参数后,不会通过icmp等协议进行主机存活判断,直接会对端口进行扫描。这样在开启了防火墙禁止ping的情况下,也可以利用这个参数正常扫描目标是否存活及对外开启的相关服务。
2.端口探测
主机端口发现可以使用以下参数
-p //特定的端口,如–p 80,443 或者全端口–p 1-65535
-pU:PORT //扫描udp的某个端口,如-p U:53
-F //快速扫描模式,比默认的扫描端口还少
-r //不随机扫描端口,nmap默认是随机扫描的
--top-ports"number" //扫描开放概率最高的number个端口
PS:Web攻防中应用的端口很可能不是默认端口,所以全端口扫描很有必要,但是耗费时间长。
3.服务器识别
服务器识别可以使用以下参数
-sV //开放版本探测,可以直接使用-A同时打开操作系统探测和版本探测
--version-intensity"level" //设置版本扫描强度,强度水平说明了应该使用哪些探测报文。数值越高,服务越有可能被正确识别。默认是7
--version-light //打开轻量级模式,为--version-intensity 2 的别名
--version-all //尝试所有探测,为--version-intensity 9 的别名
--version-trace //显示出详细的版本侦测过程信息
4.操作系统识别
OS识别参数:
-O //启用操作系统检测,-A来同时启用操作系统检测和版本检测
--osscan-limit //针对指定的目标进行操作系统检测(至少需确知该主机分别有一个open和closed的端口)
--osscan-guess //推测操作系统检测结果,当Nmap无法确定所检测的操作系统时,会尽可能地提供最相近的匹配,Nmap默认进行这种匹配
以上就是nmap一些简单的基础命令,除此之外我们在使用nmap的时候也可以通过参数组合来完成我们想要的效果的,希望本人能帮到大家了解和使用nmap。
版权归原作者 0xc4Sec 所有, 如有侵权,请联系我们删除。