全篇技术分享纯干货,看完准保你能马上用上Nmap试试手~~
本篇文章帮你逐个击破以下3个问题:
01 Nmap是用来干什么的?
02 我们能够用Nmap来干什么?
03 Nmap具体是如何使用的?
话不多说,我们逐个击破。
01 Nmap是用来干什么的?
Nmap是一款扫描神器,通过使用该工具,我们不仅可以知道某个网段存活的主机、存活主机开放着哪些端口以及服务。除此之外,某些时候我们还可以进行目标主机服务器系统版本、操作系统、以及防火墙是否开启的检测。
也就是说,通过使用Nmap,IP地址、开放端口、开放服务等信息都将被你掌握。
02 我们能够用Nmap来干什么?
正所谓,知己知彼,百战百胜。我们在信息收集的初期,可以通过Nmap来进行端口的扫描,确定其存在的服务,方便后续渗透对其主机进行针对性的漏洞测试。
打个比方,就相当于如果你要入室行窃(渗透攻击),那么我们入室之前看看屋子里有哪些地方可以方便进入,是不是有开着什么窗户(端口),开着哪扇门(服务)。这对我们后续动作的进行提供宝贵的参考指标。而这个Nmap就是我们在观察屋子时,使用的望远镜,通过使用这个望远镜,窗户、门口是否开着的情况都被我们牢牢掌握咯。
03 Nmap具体是如何使用的?
前情提要:
我使用的是虚拟机kali上的nmap,
kali系统主机IP地址为192.168.131.133
本地windows10主机IP地址为192.168.8.105
本次实验,仅有以上两台主机存活
基本的具体使用方法如下:
1)扫描某个具体IP地址 我们重点关注返回的端口信息及服务
在这里,nmap默认发送的是一个ARP的Ping数据包
如:nmap 192.168.1.100
2)扫描多个IP地址 分别列举
3)扫描某个连续的IP地址 -
nmap 192.168.1.100-110
4)扫描某个网段 加上子网掩码
nmap 192.168.8.0/24
但是呢,实际探测的时候采用以上命令扫描非常耗时。所以我们可以添加一些相关参数,达到快速扫描的目的。
添加相关参数后,我们的命令为:
nmap -sS -Pn -n --open -T4 --min-hostgroup 4 --min-parallelism 1024 --host-timeout 30 192.168.8.0/24
简单解释相关参数:
-sS:使用SYN方式扫描,默认用的是-sT方式,即TCP方式,需要完成完整的三次握手,比较费时,SYN就比较快一些了;
-Pn: 禁用PING检测,这样速度快,并且可以防止有些主机无法ping通而被漏掉不扫描;
-n: 功能未知;
–open: 只输出检测状态为open的端口,即开放的端口;
–min-hostgroup 4:调整并行扫描组的大小;
–min-parallelism 1024:调整探测报文的并行度;
-T4:总共有T0-T5,T4折中等级
在这里我们看到,IP地址为192.168.8.105的主机存活着。
5)扫描除某个IP外的IP地址 -exclude
nmap -sS -Pn -n --open -T4 --min-hostgroup 4 --min-parallelism 1024 --host-timeout 30 192.168.8.0/24
-exclude 192.168.100.2
在这里,可以看到在添加了-excluede参数后,192.168.8.105端口被排除扫描了,没有被扫描出来
6)扫描某一目标地址的指定端口 -p
nmap 192.168.8.105 -p 21
7)扫描目标地址的在线情况 -sP 返回的是存活的IP
nmap -sP 192.168.8.105
8)扫描目标地址操作系统版本、服务器版本 -O -sV
9)对目标地址进行路由跟踪 --traceroute
nmap --traceroute 192.168.8.105
10)扫描文件内的IP地址 -iL
namp -iL 本地文件地址
11)扫描除某一文件中的目标地址之外的目标地址 -excludefile
nmap 192.68.8.100-105 -excludefile 地址
在这里,我们发现在ip文本中的192.168.5.108被排除扫描了
拓展应用:
大家可以自行尝试
1)暴力**攻击 buute
nmap --script=brute 192.168.8.105
2)常见漏洞扫描 vuln
nmap --script=vuln 192.168.8.105
3)探测开启服务 broadcast
nmap --script=broadcast 192.168.8.105