nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。它是网络管理员必用的软件之一,以及用以评估网络系统安全。
正如大多数被用于网络安全的工具,nmap 也是不少黑客及骇客(又称脚本小子)爱用的工具 。系统管理员可以利用nmap来探测工作环境中未经批准使用的服务器,但是黑客会利用nmap来搜集目标电脑的网络设定,从而计划攻击的方法。
Nmap 常被跟评估系统漏洞软件Nessus 混为一谈。Nmap 以隐秘的手法,避开闯入检测系统的监视,并尽可能不影响目标系统的日常操作。
1.主机探测
2.端口扫描
3.版本检测
4.支持探测脚本的编写
官网:http://nmap.org
图形化:Zenmap
相关参数
-sS TCP SYN扫描
-sU UDP扫描
-sA ACK扫描
-sW 窗口扫描
–scanflags RSTSYNFIN 自定义扫描
-O 检测目标操作系统类型
-sV 检测目标上运行服务的版本
-v 增加输出信息的详细程度
-vv 增加输出详细程度为2
-oA 将nmap输出保存为三种主要格式
-oN 将nmap输出保存为正常格式
-A 全部扫描 激进模式
-T<1-5> 扫描速度 扫描速度越快会被发现的几率就会越高
-p<1-65535> 扫描端口
-p- 扫描所有端口
–script 激活脚本
–script=vuln 激活vuln类别中的所有脚本
-F 100 个最常见的端口
–max-rate 50 速率 <= 50 包/秒
–min-rate 15 速率 >= 15 包/秒
–min-parallelism 100 至少 100 个并行探头
–reason 提供有关其推理和结论的更多详细信息
扫描类型
Nmap端口扫描类型
在使用nmap进行端口扫描时,有三种基本的扫描类型:
此外,还有三种不太常见的端口扫描类型(用于绕过防火墙):
以Windows操作系统为例,讲解如何安装Nmap。
第一步,从官网https://nmap.org/download.html下载Nmap的安装包,如所示。
第二步,双击安装包,弹出软件的安装界面,单击I Agree按钮
第三步,选择需要安装的功能,若无特别需求,默认即可
第四步,选择软件安装路径,该软件安装所需空间不大,可选择默认路径
第五步,继续安装并提示相关的软件依赖包的关联
图 15继续安装
第六步,Nmap安装完后,为使用方便,还需进行环境变量的配置。具体步骤为:右 击“计算机”,在弹出的菜单中选择“属性”一“高级系统设置”一“高级”-“环境变 量”命令,在系统变量中找到path»对path进行编辑,在path已有数据后加上英文“;”, 输入Nmap安装目录,本次安装路径为C:\Program Files (x86)\Nmap
设置完成后,可通过系统命令获取Nmap相关信息,以此验证配置是否成功
设置成功后可以利用图形化界面打开Nmap
第七步,探测主机信息
Nmap常用的扫描参数如下:
-sT参数是TCP connect扫描,这种方式会在目标主机的日志中记录大批连接请求和错 误信息。
-sP参数是Ping扫描,Nmap在扫描端口时默认使用Ping扫描,只有主机存活,Nmap 才会继续扫描。
-sS参数是半开扫描,使用时需要root权限,很少有系统将其记入系统日志。
-sU参数是UDP扫描,此扫描不可靠。
-sA参数是用来穿过防火墙的规则集。
-sV参数是探测端口服务版本。
-PO参数是指扫描之前不需要Ping命令,有些防火墙禁止用Ping命令。可以使用此参数进行扫描。
-V参数是指显示扫描过程。
-h参数是指帮助选项。
-p参数是指定端口,如1-65536、1433、135、80等。
-o参数是启用远程操作系统检测,存在误报的情况。
-A参数是指全面系统检测、启用脚本检测、扫描等。
-oN/-oX/-oG参数是指将报告写入文件,分别是正常、XML、grepable三种格式。
-T4参数是指针对TCP端口禁止动态扫描延迟超过10mso
-iL参数是读取主机列表,例如,-iL c:\ip.txt。
第八步,图形化操作
案例一:扫描指定IP上的开放端口。以192.168.56.1为例,扫描1-65535所有端口中的开放端口。
Nmap 命令为 nmap -p 1-65535 -v 192.168.56.1
案例二:指定端口扫描,只扫描80和22端口,以百度为例。
Nmap 命令为 nmap -p 80,22 www.baidu.com
案例三:探测主机操作系统,以百度网站为例。
Nmap 命令为 nmap -o www.baidu.com
案例四:全面的系统探测,以百度网站为例。
Nmap命令为nmap -v -A www.baidu.com
案例五:描目标主机和端口上运行的软件的版本,以本机为例
nmap -sV 192.168.56.1
案例六:路由跟踪扫描,以百度为例。
nmap -traceroute www.baidu.com
在kali环境中,已经集成了nmap的软件安装,我们无需在进行安装。
第一步:打开终端
第二步:运行nmap
第三步:实验案例
实验一:进行TCP扫描,找出TCP和UDP端口。(扫描真机IP地址)
nmap -sT 192.168.56.1
实验二:远程检测操作系统和软件
nmap -O 192.168.56.1
实验三:网段扫描格式
nmap -sP 192.168.56.1 /24
实验四:查询VMware服务器(vCenter,ESX,ESXi)SOAP API以提取版本信息。
nmap --script vmware-version -p443 192.168.56.1
nmap是一个很强大的工具,对我们查询对方网站的端口以及自己端口是否开启有很大的帮助,如果大家觉得这个工具,就要继续钻研,这只是最基本的用法,加油!