Nmap提供了四项基本功能(主机发现、端口扫描、服务与版本侦测、OS侦测)及丰富的脚本库。Nmap既能应用于简单的网络信息扫描,也能用在高级、复杂、特定的环境中:例如扫描互联网上大量的主机;绕开防火墙/IDS/IPS;扫描Web站点;扫描路由器等等。
简单的用法:
全面扫描:nmap-T4 -A -V targetip
主机发现:nmap-T4 -sn targetip
端口扫描:nmap-T4 targetip
服务扫描:nmap-T4 -sV targetip
操作系统扫描:nmap-T4 -O targetip
参数详解:
-A:使用进攻性(Aggressive)方式扫描;
-T4:指定扫描过程使用的时序(Timing),总有6个级别(0-5),级别越高,扫描速度越快,但也容易被防火墙或IDS检测并屏蔽掉,在网络通讯状况良好的情况推荐使用T4;
-v:表示显示冗余(verbosity)信息,在扫描过程中显示扫描的细节,从而让用户了解当前的扫描状态。
一、主机发现(Host Discovery)
用于发现目标主机是否在线(Alive,处于开启状态)
1、主机发现原理
发送探测包到目标主机,如果收到回复,那么说明目标主机是开启的。nmap支持多种不同的主机探测方式,比如:ICMP ECHO/TIMESTAMP/NETMASK报文,TCP SYN/ACK包,SCTP INIT/COOKIE-ECHO包,不同条件下可灵活选用。
2、主机发现的用法
主机发现并不会单独使用,通常作为端口扫描、版本侦测、OS侦测先行的步骤。
参数选项:
-sL: List Scan 列表扫描,仅将指定的目标的IP列举出来,不进行主机发现。
-sn: Ping Scan 只进行主机发现,不进行端口扫描。
-Pn: 将所有指定的主机视作开启的,跳过主机发现的过程。
-PS/PA/PU/PY[portlist]: 使用TCPSYN/ACK或SCTP INIT/ECHO方式进行发现。
-PE/PP/PM: 使用ICMP echo, timestamp, and netmask 请求包发现主机。-PO[protocollist]: 使用IP协议包探测对方主机是否开启。
-n/-R: -n表示不进行DNS解析;-R表示总是进行DNS解析。
--dns-servers <serv1[,serv2],...>: 指定DNS服务器。
--system-dns: 指定使用系统的DNS服务器
--traceroute: 追踪每个路由节点
例子演示:
(1)、简单的扫描
namp 192.168.199.167
只是简单的发送SYN包探测,极易被防火墙发现,优点就是简单迅速。
(2)、ping扫描
nmap -sP 92.168.199.167