1、下载安装nmap
软件下载路径:https://nmap.org/download.html,按照系统版本选择下载,下载完成后,按照软件提示一直Next安装。

2、Nmap扫描的6种状态

  • open:端口开放状态。发现这一点常常是端口扫描 的主要目标
  • closed:端口处于关闭状态。
  • filtered:由于报文无法到达指定的端口,nmap不能够决定端口的开放状态,这主要是由于网络或者主机安装了一些防火墙所导致的。
  • unfiltered:当nmap不能确定端口是否开放的时候所打上的状态,这种状态和filtered的区别在于:unfiltered的端口能被nmap访问,但是nmap根据返回的报文无法确定端口的开放状态,而filtered的端口直接就没就没能够被nmap访问。端口被定义为Unfilterd只会发生在TCP ack扫描类型时当返回RST的报文。而端口被定义为filtered 状态的原因是是报文被防火墙设备,路由器规则,或者防火墙软件拦截,无法送达到端口,这通常表现为发送NMAP的主机收到ICMP报错报文,如:TYPE为3,code为13的报文(通信被认为的禁止 communication administratively prohibited),或者主机通过多次重复发送没有收到任何回应)。
  • open|filtered:这种状态主要是nmap无法区别端口处于open状态还是filtered状态。这种状态只会出现在open端口对报文不做回应的扫描类型中。UDP,IP协议, FIN,Null,和Xmas扫描可能把端口归入此类。
  • closed|filtered:该状态用于Nmap不能确定端口是关闭的还是被过滤的。 它只可能出现在IPID Idle扫描中。

 3、端口扫描技术

  • -sT     TCP连接扫描: 指定这个选项后,程序将和目标主机的每个端口都进行完整的三次 握手。如果成功建立连接,则判定该端口是开放端口。由于在检测每个端口时都需要进行三 次握手,所以这种扫描方式比较慢,而且扫描行为很可能被目标主机记录下来。如果启动 Nmap的用户的权限不足,那么默认情况下Nmap程序将以这种模式进行扫描。
  • -sS     SYN扫描: 该选项也称为半开连接或者SYN stealth。采用该选项后,Nmap将使用 含有SYN标志位的数据包进行端口探测。如果目标主机回复了SYN/ACK包,则说明该端口处 于开放状态:如果回复的是RST/ACK包,则说明这个端口处于关闭状态;如果没有任何响应 或者发送了ICMP   unreachable信息,则可认为这个端口被屏蔽了。SYN模式的扫描速度非常 好。而且由于这种模式不会进行三次握手,所以是一种十分隐蔽的扫描方式。如果启动Nmap 的用户有高级别权限,那么在默认情况下Nmap程序将以这种模式进行扫描。
  • -sN      (TCP NULL),  -sF  (FIN),  -sX  (XMAS): NULL 扫描不设置任何控制位; FIN扫描仅设置FIN标志位:XMAS扫描设置FIN、PSH和URG的标识位。如果目标主机返回 了含有RST标识位的响应数据,则说明该端口处于关闭状态;如果目标主机没有任何回应, 则该端口处于打开|过滤状态。
  • -sM      TCP Maimon扫描: Uriel Maimon 首先发现了TCP Maimom扫描方式。这种模式的探测数据包含有FIN/ACK标识。对于BSD衍生出来的各种操作系统来说,如果被测端口处于开放状态,主机将会丢弃这种探测数据包;如果被测端口处于关闭状态,那么主机将会回复 RST。
  • -sA       TCPACK扫描: 这种扫描模式可以检测目标系统是否采用了数据包状态监测技术(stateful)防火墙,并能确定哪些端口被防火墙屏蔽。这种类型的数据包只有一个ACK标识位。如果目标主机的回复中含有RST标识,则说明目标主机没有被过滤。
  • -sW TCP窗口扫描: 这种扫描方式检测目标返回的RST数据包的TCP窗口字段。如果目 标端口处于开放状态,这个字段的值将是正值;否则它的值应当是0。
  • -sI      TCP Idle扫描: 采用这种技术后,您将通过指定的僵尸主机发送扫描数据包。本机并不与目标主机直接通信。如果对方网络里有IDS,IDS将认为发起扫描的主机是僵尸主机。
  • -sO     IP协议扫描:IP 协议扫描可以让您确定目标机支持哪些IP协议 (TCP,ICMP,IGMP,等等)。从技术上说,这不是端口扫描 ,既然它遍历的是IP协议号而不是TCP或者UDP端口号。
  • sU      ( UDP扫描) UDP扫描一般较慢,比TCP更困难,对一台主机的65536个UDP端口进行完整扫描,总耗时必 定会超过18个小时。优化方法主要是:
    1.进行并发的UDP扫描;
    2.优先扫描常用端口;
    3.在防火墙后面扫描;
    4.启用--host-timeout选项以跳过响应过慢的主机。

4、端口说明和扫描顺序

  • -p 端口范围:只扫描指定的端口,扫描1-65535端口时可以 -p 1-65535。
  • -F(快速扫描):将仅扫描100个常用端口。
  • -r(顺序扫描):指定这个选项后,程序将从按照从小到大的顺序扫描端口。
  • -top-ports <1 or="" greater="">:扫描nmap-services里排名前N的端口。

5、服务和版本检测

  • -sV 服务器版本识别,可以在进行端口扫描的时候检测服务端软件的版本信息。
  • -O 检测服务器操作系统
  • -Pn 禁用主机检测。如果主机屏蔽了ping请求,nmap可能会认为该主机没有开机。这将使得nmap无法进行进一步检测,比如端口扫描、服务版本识别和操作系统识别等探测工作。为了克服这一问题,就 需要禁用nmap的主机检测功能。在指定这个选项之后,Nmap会认为目标主机已经开机并会 进行全套的检测工作。
  • -A 强力检测选项。启用-A选项之后,Nmap将检测目标主机的下述信息:
    服务版本识别(-sV);
    操作系统识别(-O);
    脚本扫描(-sC);
    Traceroute(–traceroute)