作用:
检测网络上的主机
检测主机上开放的端口
检测操作系统,硬件地址,以及软件版本
检测脆弱性的漏洞(Nmap的脚本)
扫描方式:
1. -sS Tcp SYN Scan 不需要三次握手,速度快
优点:半开放扫描,Nmap发送SYN包到远程主机,但是它不会产生任何会话,目标主机几乎不会把连接记入系统日志。(防止对方判断为扫描攻击),扫描速度快,效率高,在工作中使用频率最高
缺点:它需要root/administrator权限执行
2. -sT Tcp connect() scan ,默认扫描模式,三次握手,需要调用系统的connect().
优点:你勿需root权限。普通用户也可以使用。
缺点:这种扫描很容易被检测到,在目标主机的日志中会记录大批的连接请求以及错误信息,由于它要完成3次握手,效率低,速度慢,建议使用-sS
3. -sU
Udp scan(sU) 顾名思义,这种扫描技术用来寻找目标主机打开的UDP端口.它不需要发送任何的SYN包,因为这种技术是针对UDP端口的。UDP扫描发送UDP数据包到目标主机,并等待响应,
如果返回ICMP不可达的错误消息,说明端口是关闭的,如果得到正确的适当的回应,说明端口是开放的.udp端口扫描速度比较慢
4. -sF:也是tcp的扫描一种,发送一个FIN标志的数据包
FIN scan(sF)
有时候TcpSYN扫描不是最佳的扫描模式,因为有防火墙的存在.目标主机有时候可能有IDS和IPS系统的存在,防火墙会阻止掉SYN数据包。发送一个设置了FIN标志的数据包并不需要完成TCP的握手.
和sS扫描效果差不多,比sT速度快
选项:
1、Nmap进行完整全面的扫描
nmap –T4 –A –v
-A 进攻性(Aggressive)方式扫描
-T4 指定扫描过程使用的时序(Timing),总有6个级别(0-5),级别越高,扫描速度越快,但也容易被防火墙或IDS检测并屏蔽掉,在网络通讯状况良好的情况推荐使用T4;
-v 表示显示冗余(verbosity)信息,在扫描过程中显示扫描的细节,从而让用户了解当前的扫描状态。
[root@localhost] ~$ nmap 172.16.2.221 Starting Nmap 6.40 ( http://nmap.org ) at 2018-02-24 13:40 CST Nmap scan report for 172.16.2.221 Host is up (0.000073s latency). Not shown: 989 closed ports PORT STATE SERVICE 135/tcp open msrpc 139/tcp open netbios-ssn 445/tcp open microsoft-ds 902/tcp open iss-realsecure 912/tcp open apex-mesh 1025/tcp open NFS-or-IIS 1026/tcp open LSA-or-nterm 1027/tcp open IIS 1032/tcp open iad3 1054/tcp open brvread 8082/tcp open blackice-alerts MAC Address: 40:8D:5C:91:BC:7B (Unknown)