一、背景介绍
nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。它是网络管理员必用的软件之一,以及用以评估网络系统安全。
正如大多数被用于网络安全的工具,nmap 也是不少黑客及骇客(又称脚本小子)爱用的工具 。系统管理员可以利用nmap来探测工作环境中未经批准使用的服务器,但是黑客会利用nmap来搜集目标电脑的网络设定,从而计划攻击的方法。
Nmap 常被跟评估系统漏洞软件Nessus 混为一谈。Nmap 以隐秘的手法,避开闯入检测系统的监视,并尽可能不影响目标系统的日常操作。
二、资源装备
- 安装好Kali Linux的虚拟机一台;
- 整装待发的小白一个。
三、战略安排
3.1 nmap基本语法使用查看,如下图所示。
命令:nmap --help
3.2 主机操作系统探测帮助信息,如下图所示。
-O:Enable os detection
对主机操作系统进行探测。
--osscan-guess:Guess os more aggressively
对主机操作系统进行模糊探测
优点:对主机操作系统探测结果给出更多的可能性;
缺点:追求速度使得扫描结果的准确性降低。
3.3 实战扫描,如下图所示。
3.3.1 扫描目标主机信息,如下图所示。
命令:nmap -O 192.168.1.30
扫描结果:
Host is up:表示该主机存活
Running:主机操作系统信息
Os details:操作系统信息
Network Distance:网络距离(以跳为单位)
3.3.2 不同的系统查看系统内核信息的命令,如下图所示。
Linux系统:uname -a
Windows系统:systeminfo
3.3.3 详细信息扫描,如下图所示。
命令:nmap -A -O 192.168.1.30
Service:服务
Version:版本
Port:端口
State:状态
Open:端口处于开放状态
Closed:端口处于关闭状态
Filtered:过滤的,由于报文无法到达指定端口,nmap不能决定端
口的开放状态,这主要是由于网络或者主机安装了一些防火墙所导致的。
Unfiltered(未被过滤的):当nmap不能确定端口是否开放的时候所打上的状态,这种状态和filtered的区别在于:unfiltered的端口能被nmap访问,但是nmap根据返回的报文无法确定端口的开放状态,而filtered的端口直接就没就没能够被nmap访问。
Open|filtered状态,这种状态主要是nmap无法区别端口处于open状态还是filtered状态。
Closed|filtered状态,这种状态主要出现在nmap无法区分端口处于closed还是filtered时。
3.3.4 结果解析,如下图所示。
Mac Address:主机Mac地址
Service Info :OS: 操作系统信息