扫描工具Nmap总结——主机发现研究篇
一、工具介绍
功能概述:Nmap是主动扫描工具,用于对指定的主机进行扫描
历史背景:Nmap是由Gordon Lyon设计并实现的,与1997开始发布,最初设计的目的是希望打造一款强大的端口扫描工具,但是随着发展,Nmap已经变为全方面的安全工具
“NSE”脚本引擎:Nmap中的该引擎提供了可以向Nmap添加新的功能模块
nmap是一个强大的工具,如果想要深入了解,可以参考书籍《诸神之眼——Nmap网络安全审计技术揭秘》
官网:https://nmap.org/download.html 更新较快!
二、Nmap可以实现的功能
如果你对一台计算机进行审计(扫描)的话,可以获取以下信息,以下为应用场景:
- 目标主机是否在线。
- 目标主机所在网络的拓扑。
- 目标主机开放的端口。
- 目标主机所使用的操作系统。
- 目标主机所运行的服务以及版本,例如Apache hpptd 2.2.14、OpenSSH 5.3pl、Debian 3ubuntu4。
- 目标主机所存在的漏洞,例如弱口令、ms08_067、ms10_054等。
三、主机扫描
3.1 单个主机扫描
命令格式:nmap 主机IP
例如下面我们对IP为192.168.43.137的主机进行扫描,显示的内容如下:
第1行:Nmap的版本以及扫描开始的时间。
第2行:是一个标题,生成的是关于192.168.43.137主机的报告。
第3行:给出了目标主机的当前状态,“up”意味着该主机处于联网状态。
第4行:在进行的1000个端口中,有998个端口时关闭的(不加任何选项,nmap默认扫描1000个端口)。
第5、6、7:代表当前主机开放的端口以及端口对应的服务。
第8行:该主机的MAC地址,以及网卡的类型。
最后一行:总结信息(扫描了一台主机,共耗时10.34秒)。
- 3.2 应用场景:主机在线检查(主机发现)
-sn选项,nmap不加任何选项时,会扫描目标主机的在线状态、以及端口扫描。使用-sn选项:可以只检测目标主机是否在线
例如:可以看到目标主机192.168.43.54处于在线状态
这是我扫描的记录,由于该主机开启了防火墙软件,所以未扫描到
没有防火墙的情况下,看一下流量记录,原来是通过icmp发送ping包来确认是否在线的
(80和443端口,dns解析任选其一)
没扫描到的发送包
Bypass 防火墙,不要使用ping扫描,-Pn,两次结果不同,明显后者是正确结果
扫描一个段 192.168.113.1/24
防火墙阻拦,没有扫描出结果
发送的数据包
添加Pn选项结果如下:
发送的数据包,结果正确
仔细想了一下,怎么可能23测试段所有的IP地址都被使用呢,前面的环境还是有点不严谨,现在我自己搭了个环境测试,如下:
192.168.23.170 HFish和防火墙都没开
192.168.23.171 HFish和防火墙都开(应该可以被扫描到)
192.168.23.172 HFish开,防火墙没开
192.168.23.173 HFish没开,防护墙开(应该可以被扫描到)
192.168.23.174 都没开
192.168.23.175-192.168.23.178 没有这三台机器
nmap -sn 192.168.23.170-178 基础主机发现(171和173果然被发现,但是其他的出现问题)
nmap -sn -Pn 192.168.23.170-178 无Ping扫描(扫描的结果都返回存在,果然证明-sn 和-Pn不能同时使用,错误的用法)
查询后,Pn参数的意思是将所有指定的主机视作开启的,跳过主机发现的过程,所以会出现全部存在的状况!!
nmap -sP 192.168.23.170-178
sP参数也是只进行主机发现,不进行端口扫描。结果与sn参数相同,但是sP参数只进行ping扫描,而sn会发送四种不同类型的数据包来探测目标主机是否在线,只要收到其中一个包的回复,那就证明目标机开启。使用四种不同类型的数据包可以避免因防火墙或丢包造成的判断错误。
但是sP该选项扫描可以轻易的获取目标信息而又不被轻易发现。在默认的情况下Nmap会发送一个ICMP回声请求和一个TCP报文到目标端口。ping扫描的优点是不会返回太多的信息造成对结果的分析,并且这是一种非常高效的扫描方式。简而言之,sP扫描到的机器一定存在,那么可以用来确定网段,如果出现sP扫描完全没有任何结果,但是确认存在某网段,那么该网络一定配置了禁ping的安全设备,这个时候就要注意了。
-PS/PA/PU/PY #通过SYN/ACK/UDP/SCTP探测确认端口号,在参数后面都可以添加端口列表来自定义扫描的端口
SCTP与TCP的最大不同之处在于它是多宿主(Multi-homing)连接,而TCP是单地址连接。
nmap -PS[portlist] 192.168.100.0/24
nmap -PA[portlist] 192.168.100.0/24
nmap -PU[portlist] 192.168.100.0/24
nmap -PY[portlist] 192.168.100.0/24
经过分析,默认情况下本机地址通过发TCP连接,将SYN置1,如果收到ACK+RST,则判定主机存活,并进一步探测端口。ACK/UDP/SCTP探测原理相同。(这里如果判定不存活,就不会再扫描端口),-PO,使用IP协议ping,通过抓包分析,探测过程与PS一致。
- 结合sn可以跳过扫描端口节省时间
2.TCP SYN Ping 扫描发送了一个设置了SYN标志的空TCP报文。默认目标的端口80 (也可以通过改变nmap.h)文件中的DeFault-TCP-PROBE-PORT值进行设置,也可以通过"-PS22,23,25,80,115,3306,3389"进行设定,每个端口被并发的扫描。
通常情况下,nmap默认使用TCP ACK 和ICMP Echo请求对目标进行是否存活的响应, 当目标主机的防火墙阻止这些请求时,可以使用 TCP SYN Ping扫描对目标主机是否存活进行判断。
Nmap是通过SYN/ACK和RST响应来对目标主机是否存活进行判断,但在特定的情况下防火墙会丢弃RST包,这种情况下扫描的结果会不准确,这时需要指定一个端口或者端口范围来避免这种情况。
例如输入命令:nmap -PS21-1000,3389 -sn 192.168.23.170-178,可以看到下面输出了完全正确的结果,但是注意这里扫描的端口还是比较多,可以选择一些特定服务的端口来扫描最好,可以减少被发现的可能
这里的逻辑是这样的,171和173可以ping通,并且一旦有端口回应便认为存在,而170,172,174不可以ping通,但有端口回应也视为存在,而175-178,不可以ping通过, 所有端口不回应便认为不存在!!
到了这里其实也可以看出
nmap -sP 192.168.23.170-178 速度最快,但结果最差,也最安全,但是有防火墙禁ping的话完全无效
nmap -PU -sn 192.168.23.170-178 如果网络在设备禁ping,但是主机防火墙开放,使用PU更方便快捷安全
nmap -sn 192.168.23.170-178 速度最快,结果一般,比较安全,除可以ping通的,其他80或443开放
nmap -PS21-1000,3389 -sn 192.168.23.170-178 速度最慢,结果最准确,但是容易被发现,自由度最高,可以自定义端口只扫描开放某端口的存活机器,后者比端口扫描识别服务不容易被发现
3.无ping扫描
nmap -P0 目标
-P0 是0而不是字母o
防火墙禁止ping的情况下,可以用无ping扫描,有穿透防火墙,避免被防火墙发现的效果。结果并不准确,只能用来探测网段。
-sL (列表扫描) :只使用DNS解析,不发送任何数据包其他扫描方式:
ICMP ping Typers 扫描,和ping扫描没有区别
-PE ICMP echo扫描方式
-PP ICMP时间戳ping扫描
-PM ICMP地址掩码ping扫描
ARP ping 扫描
-PR
局域网内的扫描
默认情况下,如果nmap发现目标主机就在它所在的局域网上,会进行ARP扫描,这个扫描速度最快,且最为精准,指定--send-ip可以禁止ARP扫描。
总结:
nmap -PR -sn 192.168.23.171-178 局域网内扫描最快,最精确,最安全
nmap -sP 192.168.23.170-178 速度最快,但结果最差,也最安全,但是有防火墙禁 ping 的话完全无效
nmap -PU -sn 192.168.23.170-178 如果网络有安全设备禁ping,但是主机防火墙开放, 使用PU更方便快捷安全
nmap -sn 192.168.23.170-178 速度最快,结果一般,比较安全,除可以ping通的,其他80或443端口开放
nmap -PS21-1000,3389 -sn 192.168.23.170-178 速度最慢,结果最准确,但是容易被发现,自由度最高,可以自定义端口只扫描开放某端口的存活机器,后者比端口扫描识别服务不容易被发现
参考
Kali(渗透工具):扫描工具Nmap: https://mp.weixin.qq.com/s/kzGNE1seYpzmncFlAUukFA
NMAP各种方式主机发现的优势与劣势:https://tieba.baidu.com/p/2365810567? red_tag=1896169239
Nmap中文手册:http://www.nmap.com.cn/doc/manual.shtm
nmap扫描工具的使用一 主机发现:https://www.jianshu.com/p/29d503ec07f2 nmap主机发现:https://www.jianshu.com/p/529cbaa67

浙公网安备 33010602011771号