Nmap
Nmap是一款网络扫描和主机检测的非常有用的工具。 Nmap是不局限于仅仅收集信息和枚举,同时可以用来作为一个漏洞探测器或安全扫描器,可以适用winodws,linux,mac等操作系统。
作用与功能
- 扫描指定主机/主机列表端口开放状态,枚举目标主机上的开放端口,常用。
- 检测操作系统版本和设备类型 ,确定网络设备的操作系统和硬件特性。
- 检测活在网络上的主机(主机发现)。
- 检测到相应的端口(服务发现)的软件和版本。
- 检测脆弱性的漏洞(Nmap的脚本)。
nmap命令使用
扫描参数:
-
-sP:ping扫描,加上这个参数会使用ping扫描,只有主机存活,nmap才会继续扫描,一般最好不加,因为有的主机会禁止ping,却实际存在。
-
-sT:
TCP connect()扫描,这种方式会在目标主机的日志中记录大批的链接请求以及错误信息。 -
-sS:
半开扫描,一般不会记入日志,不过需要root权限。 -
-sU:
udp扫描,但是一般不可靠。 -
-sA: 用来穿过防火墙的规则集,速度慢。
-
-sV: 端口服务及版本
-
-A: 包含了-sV,-O,全面系统检测,启动脚本检测,扫描等。
-
-P0: 扫描之前不使用ping,适用于防火墙禁止ping,比较有用。
-
-v: 显示扫描进程,推荐添加
-
-O: 探测目标系统的漏洞,容易误报
-
-p: 指定端口扫描(全端口1-65535或-p-)
-
-oN/-oX/-oG: 将报告写入文件,格式分别为正常(自定义.txt),XML,grepable.
-
-iL: 扫描主机列表
-
-sC: –script=default 默认的脚本扫描,主要是搜集各种应用服务的信息
端口状态扫描
端口状态
open:端口是开放的。
closed:端口是关闭的。
filtered:被过滤,端口被防火墙IDS/IPS屏蔽,无法确定其状态。
unfiltered:未过滤,端口没有被屏蔽,但是否开放需要进一步确定。
open|filtered:端口是开放的或被屏蔽。
closed|filtered :端口是关闭的或被屏蔽。
扫描
-sS TCP SYN扫描(匿名扫描,默认不加类型,需要root权限,扫描速度快)
-sT TCP全连接扫描(不需要root权限,TCP扫描的默认模式,端口状态和SYN相同,耗时长)
UDP扫描
-sU (使用-sUV能增加扫描的准确性)
协议扫描
-sO 获取服务器支持哪些协议