使用Nmap主动扫描

目录

4.1 Nmap的基本用法

4.2 使用Nmap进行设备发现

4.3使用Nmap进行端口扫描

4.4 使用Nmap扫描目标操作系统

4.5 使用Nmap扫描目标服务

4.6 将Nmap的扫描结果保存为XML文件

4.7 对Web服务进行扫描


关于Nmap:Nmap是世界上使用最多的端口扫描器,它可以用于识别活动主机、扫描TCP和UDP开放端口,检测防火墙,获取在远程主机上的运行版本,甚至使用脚本发现和利用漏洞。

1、保证所有主机(Kali2和靶机)都接到NAT,是在同一个网段,比如192.168.169.0/24

2、所有主机设置为自动获取IP参数,即DHCP模式。

3、靶机关闭防火墙,否则有些端口无法扫描。

4、假设VMware的NAT所在网段为192.168.169.0/24,各个主机/设备的IP地址如下:

功能

类型(系统)

IP地址(自动获取)

Kali2渗透主机

Kali Linux 2

192.168.136.128

靶机

win64位靶机

192.168.169.131

windows32位靶机

192.168.169.132

Metasploitable2-Linux

192.168.169.133

WinXPenSP3

192.168.169.134

其他(VMware自带)

VMware的VMnet8网卡

192.168.169.1

VMware的NAT网段网关

192.168.169.2

VMware的DHCP服务器

192.168.169.254

(如果NAT网段是其它192.168.xxx.0/24 ,各个主机IP是其它地址,做为类似)

以自己主机IP地址为标准


原理剖析

Nmap是一个端口扫描器;这代表着它将数据包发送到指定IP地址上的一些TCP或 UDP端口,并且检查是否有响应。如果有,则表示端口是开放的,即服务在该端口上运行。

在第一条命令中,对于-sn参数,我们指示Nmap只检查该服务器是否响应ICMP请求(或者是ping)。我们的服务器给出了响应,所以该主机是在存活状态的。

第二个命令是调用Nmap最简单的方法,它只指定目标IP地址。它所做的是ping服务器,如果它做出响应,那么Nmap将向1000个TCP端口的列表发送探测器,以查看哪个端口响应以及如何响应,然后它报告结果,显示哪些端口是打开的。

第三条命令在第二条命令的基础上添加了以下两个参数:

-sV:请求找到每个开放端口banner-header或自我标识,也就是每个端口运行服务的版本。 -O:告诉Nmap尝试使用从开放端口和版本信息的信息来猜测目标上运行的操作系统。


4.1 Nmap的基本用法

1、对单台设备进行扫描,结果截图并作必要的说明。

nmap -sn 192.168.136.131

使用Nmap主动扫描_第1张图片

2、对IP地址不连续的多台设备进行扫描,结果截图并作必要的说明。

使用Nmap主动扫描_第2张图片

3、对IP地址在连续范围内的多台设备进行扫描,结果截图并作必要的说明。

nmap -sn 192.168.136.1-10

使用Nmap主动扫描_第3张图片4、对整个子网的设备进行扫描,结果截图并作必要的说明。

nmap -sn 192.168.136.0/24

使用Nmap主动扫描_第4张图片

4.2 使用Nmap进行设备发现

1、使用ARP进行设备发现,结果截图并作必要的说明。

使用Nmap主动扫描_第5张图片

2、使用ICMP进行设备发现,结果截图并作必要的说明。

nmap -PE 192.168.136.1

使用Nmap主动扫描_第6张图片

使用Nmap主动扫描_第7张图片

使用Nmap主动扫描_第8张图片

3、使用TCP进行设备发现,结果截图并作必要的说明。

(1)TCP SYN扫描,结果截图并作必要的说明。

nmap -sn -PS 10000 192.168.136.131

使用Nmap主动扫描_第9张图片

(2)TCP ACK扫描,结果截图并作必要的说明。

nmap -sn -PA 192.168.136.131

使用Nmap主动扫描_第10张图片

4、使用UDP进行设备发现,结果截图并作必要的说明。

nmap -sU 192.168.136.131

使用Nmap主动扫描_第11张图片

4.3使用Nmap进行端口扫描

1、SYN扫描,结果截图并作必要的说明。

nmap -sS 192.168.136.131

使用Nmap主动扫描_第12张图片

2、Connect扫描,结果截图并作必要的说明。

nmap -sT 192.168.136.131

使用Nmap主动扫描_第13张图片

3、UDP扫描,结果截图并作必要的说明。

nmap -sU 192.168.136.131

使用Nmap主动扫描_第14张图片

4、端口扫描范围的确定:

(1)扫描全部端口,结果截图并作必要的说明。

使用Nmap主动扫描_第15张图片

(2)扫描使用频率最高的n个端口,结果截图并作必要的说明。

nmap --top-ports 2 192.168.136.131

使用Nmap主动扫描_第16张图片

(3)扫描指定端口,结果截图并作必要的说明。

nmap -P 80 192.168.136.131

使用Nmap主动扫描_第17张图片

4.4 使用Nmap扫描目标操作系统

结果截图并作必要的说明。

使用Nmap主动扫描_第18张图片

4.5 使用Nmap扫描目标服务

结果截图并作必要的说明。

nmap -sV 192.168.136.131

使用Nmap主动扫描_第19张图片

4.6 Nmap的扫描结果保存为XML文件

结果截图并作必要的说明。

nmap -oX report.xml 192.168.136.131

使用Nmap主动扫描_第20张图片

4.7 Web服务进行扫描

1、使用dirb扫描工具,结果截图并作必要的说明。

dirb http://192.168.136.131/dvwa

使用Nmap主动扫描_第21张图片

2、使用whatweb工具,结果截图并作必要的说明。

whatweb report for http://192.168.136.131/dvwa/login.php

使用Nmap主动扫描_第22张图片

拓展

使用Nmap时的其他有用参数如下所示:

-sT:默认情况下,当它作为root用户运行时,Nmap使用一种称为SYN扫描的扫描类型。使用这个参数,我们强制扫描器执行完全连接扫描,它速度较慢,并且会在服务器日志中留下一条记录,但不太可能被入侵检测系统检测到或被防火墙阻止。

-Pn:如果我们已经知道主机时存活的但是没有响应ping,我们可以使用这个参数告诉Nmap跳过ping测试并扫描所有指定的目标(假设它们已经启动)

-v:这是冗长模式。Nmap 将展示更多关于它正在扫描中的信息。这个参数可以在同一个命令中多次使用,使用的越多,得到的反馈就越多(-vv或-v -v. -v -v )

-p.N1,N2,…N3:如果要测试特定端口或一些非标准端口,我们可能需要使用这个参数,其中N1到Nn时我们希望Nmap扫描的端口号。例如,要扫描21、80到90和137,参数奖是-p 21,80-90,137。另外,使用-p- Nmap将扫描О到65之间的所有端口和536端口

--script=script_name:Nmap包含许多有用的脚本,用于漏洞检查,扫描或者识别,登录测试,命令执行,用户枚举等等。使用此参数告诉Nmap在目标的开放端口上运行脚本。可能想了解以下 Nmap使用的一些脚本: https://nmap.org/nsedoc/scripts/.

4.8 总结

经过本次实验,我学会了如何使用nmap进行扫描发现漏洞,在做实验的过程中要注意不要打错字母,仔细观察,认真对待。

你可能感兴趣的:(网络,服务器,linux)