无线网络渗透测试系列学习(三) - [信息收集] 网络扫描基础和对三种协议(ICMP/TCP/UDP)的简单学习

引言:

无线网络渗透测试系列学习目录:

无线网络渗透测试系列学习(一) - 在Windows系统下使用虚拟机安装Kali Linux操作系统

无线网络渗透测试系列学习(二) - 在VMware中搭建Metasploit靶机的详细步骤以及端口的简单了解

在上一篇文章中我们对一些常见的端口进行了了解,并对在Windows下的VMware虚拟中如何搭建Metasploit 2靶机的过程进行了讲述,从这篇文章开始我们开始着重对无线网络渗透测试之前的信息收集部分进行介绍和学习。在网络技术中,通过对单个IP地址的扫描,我们可以对网络的端口开放情况有一个基本的了解;如果我们扫描的是整个局域网,我们就可以描绘出这个局域网的网络拓扑图,我们也可以对整个局域网中的设备情况做一个大致的了解,例如连接到这个局域网中的有什么设备,打印机、台式电脑、笔记本电脑、手机都可以通过对局域网的探测进行辨识,好了,废话不多说,让我们开始吧。

学习:

主动扫描:

在网络扫描中,主动扫描就是用户主动向目标主机发送一些数据包进行扫描,以期找到网络中活动的主机。例如当我们使用Ping命令对目标主机进行主动扫描时,我们的主机将会给目标主机发送一个ICMP Echo-Request报文,然后目标主机如果成功地收到了该报文,将会给我们的主机回应一个ICMP Echo-Reply报文,这样就说明目标主机现在是活动的。

被动扫描:

网络扫描中,被动扫描就是通过长期监听广播包,来发现同一网络里面活动的主机。一般情况下发送广播包的原因有两个:应用程序希望在本地网络中找到一个资源,而应用程序对该资源的地址又没有预先储备;另外一个原因是由于一些重要的功能。例如路由器把它的信息发送到这个网络中可以找到的临机。

过程:

靶机为目标,来进行网络扫描:

在前两篇文章中,我们已经分别介绍了在VMware虚拟机中如何安装Kali Linux操作系统和如何搭建Metasploit 2 靶机,现在我们就以Kali Linux作为操作对象,以Metasploit 2 作为探测对象,进行网络扫描操作。

首先我们在VMware虚拟机中分别打开Kali Linux和Metasploit 2,在靶机和Kali中输入命令:

ifconfig

如图,我这里靶机的IP地址为192.168.116.130。

如图,我这里Kali Linux的IP地址为192.168. 116.129 。

标准ICMP扫描:

ICMP全称(Internet Control Message Protocol),铭文Internet控制报文协议。它是TCP/IP协议簇中的一个子协议,主要用于在IP主机、路由器之间传递控制消息。这里的控制消息主要就是网络是否是通的,主机是不是可以到达的,路由是否是可用的。这些控制消息并不能直接传输用户消息,但是却对用户消息的传输起着重要的作用。

通过Ping命令发送数据包的方式进行主动扫描:

所谓的标准ICMP扫描就是通过向目标主机发送ICMP Echo Request数据包的方式来探测目标主机是否在线,如果目标主机回复了ICMP Echo Reply包的话,则说明目标主机是活动的,如果没有回复则说明目标主机并没有在线,最常见的方式就是通过Ping命令,让我们来看下面的例子:

在上面我们已经通过命令知道了两台主机的IP地址,我们在Kali Linux中的终端里面输入命令Ping 并带上靶机的IP地址:

ping [目标地址]

如图,再返回五个响应包之后我按下了Ctrl + C键进行了终止,在最终的信息中提示发了5个,接收了5个,时间为4099ms,没有丢包的情况发生。

通过发送数据包和成功接收数据包的操作结果,我们可以得出结论,IP地址为192.168.116.130的这台主机是活动的。

通过Nmap工具进行主动网络扫描:

Nmap全称Network Mapper,是Linux下免费的网络扫描和嗅探工具包。

在Kali Linux终端中输入命令:

nmap -PE [目标地址]

 

如图,在通过nmap对靶机的探测中首先出现了信息“host is up”说明主机是在线的;Not shown:977说明目标主机的977端口是关闭的,下面显示的从21~8180端口均是目标主机开放的端口。

通过Fping命令进行扫描:

Fping也是一个小型的命令行工具,类似与Ping,但是在有多个目标主机需要被探测的时候,Fping的效率是高于Ping的,Fping在终端命令行也可以定义多个主机,如图 我们通过Fping命令对目标主机进行探测:

fping [目标地址]

如图,我通过Fping命令对两个IP地址进行了探测,分别是192.168.116.130和192.168.116.131,命令行中显示192.168.116.130是在线的,但是192.168.116.131发送的ICMP报文并没有被回复,所以是不可到达的(Unreachable)。

但是不可达,真就是说明目标主机不在线吗? 

答案是不一定!

通过时间戳查询扫描: 

有一些主机和服务器本身配置有防火墙,防火墙用来阻止ICMP Echo请求报文。但是防火墙也有可能配置不当, 所以我们可以通过ICMP时间戳查询扫描来探测目标主机是否在线,Nmap可以实现时间戳扫描查询,输入命令:

nmap -PP [目标地址]

如图,我们先对靶机(192.168.116.130)进行探测,探测结果如上图。 

然后我们再试图对靶机下一个IP地址进行探测,因为我们不知道这个IP地址是否存在,所以我们先来进行探测: 

如图,显示了“Host seems down”,但是提示了如果这个地址真的在线,但却封锁了我们的探测,可以尝试这个命令:

namp -Pn [目标地址]

这条命令的含义是不进行主机发现,继续进行更深层次的探测。 

如图,通过这个命令,我们探测出来了这个主机是在线的,知识封锁了-PP命令发送的探针,且990号端口是关闭的。 

地址掩码查询扫描:

这个扫描方式与时间戳扫描类似,但是是一种非常规的ICMP查询方式,这种方式就是试图用备用的ICMP等级Ping指定的主机,此种类型的Ping可以绕过配置有封锁标准回声请求策略的防火墙,输入命令:

nmap -PM [目标主机]

如图,我对靶机进行探测:

探测结果与上面的一样。

至此,ICMP形式的扫描我们已经初步了解,接下来我们来看一下TCP形式的扫描。

TCP扫描:

在学习TCP扫描之前,我们先对TCP协议进行一个初步且简单的了解,TCP是网络传输层的协议,使用三次握手建立连接,当主动方发送SYN连接请求后,然后主动方等待对方回答SYN+ACK,最后对对方的SYN执行ACK进行确认,此种方式可以防止产生错误连接。

TCP协议是计算机本科学习中十分重要的一环,在本科结束找工作时无论是在简历上还是面试官和你之间的问答上,都将是浓墨重彩的一笔。

TCP是internet中的传输层协议,利用三次握手建立连接。主动方发出SYN连接请求后,等待对方回答SYN+ACK,最终对对方的SYN执行ACK确认。

TCP扫描的命令:

nmap -PS 目标地址

参考资料:

从实践中学习Kali Linux网络扫描 —— 大学霸IT达人

nmap_百度百科 (baidu.com)https://baike.baidu.com/item/NMap/1400075ICMP_百度百科 (baidu.com)https://baike.baidu.com/item/ICMP?fromModule=lemma_search-box

猜你喜欢

转载自blog.csdn.net/weixin_45571585/article/details/129463335