一.NMAP概述
Nmap(Network Mapper)是一款免费的、开源的网络探测和安全审计工具。它可以轻松地扫描网络中的计算机、服务和开放端口,帮助网络管理员或安全工程师了解网络拓扑结构、识别可能存在的漏洞,并进行攻击、入侵检测等安全任务。
1.nmap的功能
- 主机探测:Nmap可以扫描具有各种或单一协议特点的网络,如TCP、UDP、IP和ICMP。
- 端口扫描:扫描目标主机开放的端口并返回有关这些端口的详细信息,如服务、协议类型、版本信息等。
- 漏洞检测:Nmap可以使用已知的漏洞数据库来进行漏洞检测,帮助安全工程师确定可能存在的漏洞。
- 操作系统检测:Nmap可以通过分析目标计算机对不同TCP/IP堆栈的行为来确定操作系统类型。
- 脚本扫描:Nmap提供了许多脚本来扩展其功能,包括可定制的脚本用于特定的攻击检测、服务版本检测等。
- 外部数据处理:Nmap可以扫描整个网络,将扫描结果导出到文本文件或数据库中进行处理。可以使用Nmap自带的或第三方的工具来实现数据分析和整理。
2.NMAP端口状态
-
open:端口是开放的,表示目标主机上该端口正在运行一个服务或有进程在监听该端口。
-
closed:端口是关闭的,表示目标主机上该端口并未运行任何服务或有进程在监听该端口。
-
filtered:端口是过滤的,表示目标主机上该端口被防火墙或其他网络设备过滤掉,导致Nmap 没有得到响应。
-
unfiltered:端口是未过滤的,表示目标主机上该端口并未被防火墙或其他网络设备过滤。
-
open|filtered:无法确定端口是开放的还是被过滤了,它可能是目标主机上运行的服务的端口或被防火墙过滤的端口。
-
closed|filtered:无法确定端口是关闭的还是被过滤了,它可能是未运行任何服务的端口或被防火墙过滤的端口。
3.nmap语法
1.nmap默认扫描1000个TCP端口
2.扫描端口详细信息
3.扫描1-65535个端口
4.在生产环境下,我们只需要开启正在提供服务的端口,其他端口是关闭的
1.若认识这个服务可直接关闭服务
systemctl stop 【服务】
2.若不认识这个服务,用lsofc查看服务的PID,然后用ps 命令找到服务进程的路径,最后用kill命令删除文件
参数说明:
-p
:指定要扫描的端口范围,如 -p 1-100
或 -p1,2,3
-A
:启用OS检测、服务版本检测和脚本扫描等高级功能。
-T
:指定扫描速度/时间等级,如 -T4
代表“快速”扫描。
-sS
:TCP SYN扫描,也称为半开放扫描。
-sT
:TCP 连接扫描,也称为全连接扫描。
-sU
:UDP扫描,用于扫描目标主机上运行的UDP服务。
-sP
:Ping扫描,用于检测主机是否在线。
-sV
:版本探测,用于识别目标主机上运行的服务版本信息。
半连接扫描过程
5.扫描一个网段中所有主机的操作系统类型
6.查找一些有特点的IP地址,开启80端口服务
7.隐蔽扫描(不容易被屏蔽)
--randomize-hosts # 随机扫描,对目标主机的顺序随机划分
--scan-delay #延时扫描,单位秒,调整探针之间的延迟
1.随机扫描
2.随机扫描和延时扫描
8.使用通配符指定IP地址(*是任意)