Nmap基础介绍 – 作者:xyphh36

一、nmap介绍

(一)Nmap是一款开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具。

软件名字Nmap是Network Mapper的简称。Nmap最初是由Fyodor在1997年开始创建的。随后在开源社区众多的志愿者参与下,该工具逐渐成为最为流行安全必备工具之一。

一般情况下,Nmap用于列举网络主机清单、管理服务升级调度、监控主机或服务运行状况。Nmap可以检测目标机是否在线、端口开放情况、侦测运行的服务类型及版本信息、侦测操作系统与设备类型等信息。

(二)优点:

1.灵活。支持数十种不同的扫描方式,支持多种目标对象的扫描。

2.强大。Nmap可以用于扫描互联网上大规模的计算机。

3.可移植。支持主流操作系统:Windows/Linux/Unix/MacOS等等;源码开放,方便移植。

4.简单。提供默认的操作能覆盖大部分功能,基本端口扫描nmap targetip,全面的扫描nmap –A targetip。

5.自由。Nmap作为开源软件,在GPL License的范围内可以自由的使用。

6.文档丰富。Nmap官网提供了详细的文档描述。Nmap作者及其他安全专家编写了多部Nmap参考书籍。

7.社区支持。Nmap背后有强大的社区团队支持。

8.赞誉有加。获得很多的奖励,并在很多影视作品中出现(如黑客帝国2、Die Hard4等)。

9.流行。目前Nmap已经被成千上万的安全专家列为必备的工具之一。(黑客必备的十大工具之一)

二、环境准备(工具安装)

(一)Windows平台:nmap官网点击这里

1.nmap官网

图片.png
图片.png

2.然后全部默认选项安装(安装的时候亦可全选)

图片.png
图片.png

3.校验是否安装成功

图片.png

(二)linux平台:nmap官网点击这里

1.centos、红帽:

①方法一(推荐使用):用仓库下载并安装
yum -y  install nmap  //(y表示提前输入yes,也可输入yum install nmap,然后输入y)

图片.png
图片.png

②方法二:下载nmap官网的rpm安装包

图片.png

拷贝到虚拟机红帽系统中并安装:
rpm -ivh nmap-7.80-1.x86_64.rpm

图片.png

校验是否安装成功

图片.png

③下载nmap官网的bz2压缩文件,拷贝到linux中

图片.png

tar -xvf nmap-7.80.tar.bz2 //解包nmap
cd nmap-7.80  //进入解压缩过后的目录
./configure  //是源代码安装的第一步,主要的作用是对即将安装的软件进行配置,检查当前的环境是否满足要安装软件的依赖关系
make  //编译
make install  //编译并安装
校验是否安装成功

图片.png

2.ubantu、debian、(kali):

①方法一(推荐使用):用仓库下载并安装
su - root  //切换到root身份
chmod +x /etc/apt/sources.list  //
vi /etc/apt/sources.list  //

deb `[`http://mirrors.aliyun.com/ubuntu/`](http://mirrors.aliyun.com/ubuntu/)` xenial main restricted universe multiverse
deb `[`http://mirrors.aliyun.com/ubuntu/`](http://mirrors.aliyun.com/ubuntu/)` xenial-security main restricted universe multiverse
deb `[`http://mirrors.aliyun.com/ubuntu/`](http://mirrors.aliyun.com/ubuntu/)` xenial-updates main restricted universe multiverse
deb `[`http://mirrors.aliyun.com/ubuntu/`](http://mirrors.aliyun.com/ubuntu/)` xenial-proposed main restricted universe multiverse
deb `[`http://mirrors.aliyun.com/ubuntu/`](http://mirrors.aliyun.com/ubuntu/)` xenial-backports main restricted universe multiverse
deb-src `[`http://mirrors.aliyun.com/ubuntu/`](http://mirrors.aliyun.com/ubuntu/)` xenial main restricted universe multiverse
deb-src `[`http://mirrors.aliyun.com/ubuntu/`](http://mirrors.aliyun.com/ubuntu/)` xenial-security main restricted universe multiverse
deb-src `[`http://mirrors.aliyun.com/ubuntu/`](http://mirrors.aliyun.com/ubuntu/)` xenial-updates main restricted universe multiverse
deb-src `[`http://mirrors.aliyun.com/ubuntu/`](http://mirrors.aliyun.com/ubuntu/)` xenial-proposed main restricted universe multiverse
deb-src `[`http://mirrors.aliyun.com/ubuntu/`](http://mirrors.aliyun.com/ubuntu/)` xenial-backports main restricted universe multiverse  //deb源

apt-get update  //更新索引文件
apt-get upgrage  //通过更换后的新源升级程序
apt-get install nmap  //通过仓库安装nmap,安装完成即可校验
校验是否成功安装

图片.png

3.macos平台:下载nmap官网的dmg安装包

图片.png

复制到macos中

图片.png

安装

图片.png

校验是否安装

图片.png

三、查看帮助以及相关信息

(一)查看nmap版本

nmap -version

图片.png

(二)查看nmap帮助

nmap -h

图片.png

(三)端口状态信息

opend  端口处于开放状态
closed  端口处于关闭状态
filterd  端口处于过滤无法收到返回的probe状态
unfilterd  端口收到返回的probe,但是无法确认
open/unfilterd	端口处于开放或者未过滤状态
closed/unfilterd端口处于关闭或者未过滤状态

(四)快速查找指定字符串的信息(nmap -h)

nmap -h | findstr "O"  //Windows
nmap -h | grep "sn"  //linux

图片.png
图片.png

四、nmap扫描

(一)主机名扫描

nmap www.baidu.com
nmap -vv www.baidu.com	//-vv 显示详细的扫描信息

图片.png
图片.png

(二)ip探测

nmap 10.1.1.1   //一个ip
nmap 10.1.1.1 10.1.1.2//两个ip
nmap 10.1.1.1,2,3,4,5...//多个ip
nmap 10.1.1.0/24   //整个网段
nmap 10.1.1.*   //整个网段
nmap 10.1.1.* --exclude 10.1.1.252//除去ip扫描

(三)DNS解析探测

nmap --dns-server 114.114.114.114 www.baidu.com 

图片.png

(四)端口探测

nmap -p 80 222.210.108.127  //单个端口
nmap -p 80,443 222.210.108.127  //两个端口
nmap -p 1-10000 222.210.108.127 //多个端口
nmap -p- 222.210.108.127   //所有端口

(五)探测主机存活性

nmap -sP 192.168.29.129 //ping扫描,探测主机存活性,使用TCP、SYN扫描、ICMP echo Request来探测主机存活性
nmap -sn 192.168.29.129 //ping扫描,探测主机存活性

图片.png
图片.png

(六)服务器指纹探测

nmap -sV 192.168.29.129

图片.png

(七)侵略性探测

nmap -A -v T4 192.168.29.129 //v持续输出返回解析,T加快速度1-5
nmap -sC -sV -O 192.168.29.129 //sC使用nmap脚本进行探测(sC:equivalent to --script=default),sV探测主机的服务信息,A侵略性策略,O探测主机的操作系统信息
nmap -A 192.168.29.129 //1-10000端口ping扫描,操作系统扫描,脚本扫描,路由跟踪,服务探测
nmap -O 192.168.29.129 //主机系统探测

图片.png
图片.png
图片.png
图片.png

(八)快速扫描

nmap -F 192.168.29.129  //快速扫描

图片.png

(九)顺序扫描端口

nmap -r 192.168.29.129 //顺序扫描端口

图片.png

(十)检测主机接口和路由信息

nmap --iflist 192.168.29.129
nmap -traceroute 192.168.29.129

图片.png
图片.png

(十一)探测防火墙

nmap -sA 192.168.29.129	//探测该主机是否使用了包过滤器或防火墙
nmap -PN 192.168.29.129	//扫描主机检测其是否受到数据包过滤软件或防火墙的保护

图片.png
图片.png

(十二)不触发防火墙探测,停止探测前的icmp请求

nmap -Pn 192.168.29.129	//扫描前不进行Ping扫描测试
nmap -PS 192.168.0.129	//使用TCP ACK (PA)和TCP Syn (PS)扫描远程主机
有时候包过滤防火墙会阻断标准的ICMP ping请求,在这种情况下,我们可以使用TCP ACK和TCP Syn方法来扫描远程主机
nmap -PA -p 22,80 192.168.29.129	//使用TCP ACK扫描远程主机上特定的端口
nmap -sN 192.168.29.129	//执行TCP空扫描以骗过防火墙

图片.png
图片.png
图片.png
图片.png

(十三)扫描协议

nmap -p T:25,U:53 192.168.29.129 //tcp25udp53进行扫描
nmap -p smtp 192.168.29.129 //smtp扫描
nmap -p s* 192.168.29.129 //s开头的服务

图片.png

(十四)扫描特定网卡

nmap -e ens33 192.168.29.0/24  //linux
nmap --iflist //windows

图片.png
图片.png

(十五)扫描后输出xml

nmap -A -oX 1.xml 192.168.29.129

(十六)ndiff对比xml的差异

ndiff -h  //帮助
ndiff 1.xml 2.xml  //对比差异

图片.png
图片.png

(十七)其他扫描

nmap -sU 192.168.29.129 //udp端口的扫描
nmap -sT 192.168.29.129 //将与目标端口进行三次握手,尝试建立连接,如果连接成功,则端口开放,慢,且会被目录主机记录
nmap -sS -T4 192.168.29.129  //利用基本的SYN扫描方式测试其端口开放状态
nmap -sF -T4 192.168.29.129 //利用FIN扫描方式探测防火墙状态。FIN扫描方式用于识别端口是否关闭,收到RST回复说明该端口关闭,否则说明是open或filtered状态
nmap -sA -T4 192.168.29.129 //利用ACK扫描判断端口是否被过滤。针对ACK探测包,为被过滤的端口(无论打开或关闭)会回复RST包
nmap -iL target.txt  //如果有一个ip地址列表,将这个保存为一个txt文件,和nmap在同意目录下,扫描这个txt的所有主机
nmap -sV 192.168.29.129 //版本检测扫描
nmap -sS 192.168.29.129  //半开放扫描(非3次握手的tcp扫描)扫描速度快,效率高。需要root权限

图片.png
图片.png
图片.png
图片.png
图片.png
图片.png
图片.png
图片.png

(十八)nmap的NSE脚本

1.NSE脚本的路径

D:\nmap\scripts  //windows路径
/usr/share/nmap/script  //liunx路径

2.NSE脚本的分类

auth: 负责处理鉴权证书(绕开鉴权)的脚本  
broadcast: 在局域网内探查更多服务开启状况,如dhcp/dns/sqlserver等服务  
brute: 提供暴力破解方式,针对常见的应用如http/snmp等  
default: 使用-sC或-A选项扫描时候默认的脚本,提供基本脚本扫描能力  
discovery: 对网络进行更多的信息,如SMB枚举、SNMP查询等  
dos: 用于进行拒绝服务攻击  
exploit: 利用已知的漏洞入侵系统  
external: 利用第三方的数据库或资源,例如进行whois解析  
fuzzer: 模糊测试的脚本,发送异常的包到目标机,探测出潜在漏洞 intrusive: 入侵性的脚本,此类脚本可能引发对方的IDS/IPS的记录或屏蔽  
malware: 探测目标机是否感染了病毒、开启了后门等信息  
safe: 此类与intrusive相反,属于安全性脚本  
version: 负责增强服务与版本扫描(Version Detection)功能的脚本  
vuln: 负责检查目标机是否有常见的漏洞(Vulnerability),如是否有MS08_067

3.部分操作

(1)负责处理鉴权证书(绕开鉴权)的脚本,也可以作为检测部分应用弱口令
nmap --script=auth 192.168.29.*

图片.png

(2)提供暴力破解的方式 可对数据库,smb,snmp等进行简单密码的暴力猜解
nmap --script=brute 192.168.29.129
(3)默认的脚本扫描,主要是搜集各种应用服务的信息,收集到后,可再针对具体服务进行攻击
nmap --script=default 192.168.29.* 或者 nmap -sC 192.168.29.*

图片.png

(4)检查是否存在常见漏洞
nmap --script=vuln 192.168.29.129

图片.png

(5)利用第三方的数据库或资源,例如进行whois解析
nmap --script external 222.210.108.127 

图片.png

来源:freebuf.com 2021-04-08 17:22:46 by: xyphh36

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论