Nmap扫描教程之基础扫描详解

时间:2015-06-29 11:54:20   收藏:1   阅读:9678

Nmap扫描教程之基础扫描详解

Nmap扫描基础扫描

当用户对Nmap工具了解后,即可使用该工具实施扫描。通过上一章的介绍,用户可知Nmap工具可以分别对主机、端口、版本、操作系统等实施扫描。但是,在实施这些扫描工作之前,需要先简单了解下Nmap工具的使用,以方便后面实施扫描。所以,本章将通过使用Nmap工具实施基础的扫描,来帮助用户了解该工具。

Nmap扫描扫描概述

在实施基本的扫描之前,需要先了解一些Nmap网络扫描的基本知识,及需要考虑的一些法律边界问题。本节将对网络基本扫描进行一个简单介绍。

1.网络扫描基础知识

在使用网络扫描之前,需要先理解以下内容:

2.法律边界问题

在实施网络扫描时,需要考虑一些法律边界问题。如下所示:

Nmap扫描指定扫描目标

当用户有明确的扫描目标时,可以直接使用Nmap工具实施扫描。根据扫描目标的多少,可以分为扫描单个目标、多个目标及目标列表三种情况。本节将依次讲解这三种情况的扫描方式。

Nmap扫描扫描单个目标

通过指定单个目标,使用Nmap工具可以实现一个基本的扫描。指定的目标可以是一个IP地址,也可以是主机名(Nmap会自动解析其主机名)。其中,语法格式如下所示:

其中,参数[目标]可以是一个IP地址,也可以是一个主机名。

【示例2-4】扫描局域网中IP地址为192.168.1.105的主机。执行命令如下所示:

从输出信息中,可以看到目标主机192.168.1.105上开启的端口有212223111445,及这些端口所对应的服务。而且,还可以看到该目标主机的MAC地址为00:0C:29:31:02:17。从最后一行信息,可以看出目标主机是活动的(up),并且扫描该目标主机共用了0.87秒。

提示:Nmap工具默认扫描前1000个端口,即1-1000。如果用户想扫描1000以上端口的话,需要使用-p选项来指定。关于如何使用Nmap的一些选项,将在后面章节介绍。

由于IP地址分为IPv4IPv6两类。所以,使用Nmap工具扫描单个目标时,指定的IP地址可以是IPv4,也可以是IPv6。上例中指定扫描的目标是使用IPv4类地址。如果用户指定扫描目标地址是IPv6类地址时,需要使用-6选项。例如,扫描IP地址为fe80::20c:29ff:fe31:217的目标主机,则执行命令如下所示:

执行以上命令后,将显示如下所示的信息:

从以上输出信息中,可以看到IPv6地址为fe80::20c:29ff:fe31:217的主机是活动的,并且开放了2223111139445端口。

提示:如果要使用IPv6类地址作为目标时,则扫描主机和目标主机都必须支持IPv6协议。否则,无法实施扫描。

Nmap扫描扫描多个目标

Nmap可以用来同时扫描多个主机。当用户需要扫描多个目标时,可以在命令行中同时指定多个目标,每个目标之间使用空格分割。其中,语法格式如下所示:

【示例2-5】使用Nmap工具同时扫描主机192.168.1.1192.168.1.101192.168.1.105。执行命令如下所示:

从以上输出信息,可以看到共扫描了三台主机,并且依次显示了每台主机的扫描结果。在以上信息中,将扫描的每台主机地址行已加粗,方便用户了解其扫描结果。下面分别介绍这三台主机的扫描结果,如下所示:

提示:当用户同时指定扫描的目标太多时,可以使用简化符号来获取扫描结果。其中,目标地址之间使用逗号(,)分割。例如,同时扫描以上三台主机,则可以使用如下命令:

Nmap扫描扫描一个目标列表

当用户有大量主机需要扫描时,可以将这些主机的IP地址(或主机名)写入到一个文本文件中。然后,使用Nmap工具进行扫描。这样避免在命令行中手工输入目标。其中,语法格式如下所示:

以上语法中的-iL选项,就是用来从IP地址列表文件中提取所有地址的。其中,IP地址列表文件中包含了一列被扫描的主机IP地址。并且,在IP地址列表文件中的每个条目必须使用空格、Tab键或换行符分割。

【示例2-6】使用Nmap工具扫描list.txt文件中所有的主机。具体操作步骤如下所示:

1创建list.txt文本文件,并将扫描的主机IP地址写入到该文本文件中。如下所示:

以上就是在list.txt文件中,指定将要扫描的目标地址。

2扫描list.txt文件中指定的所有主机。执行命令如下所示:

从输出的信息中,可以看到依次扫描了list.txt文件中的每台主机,并且显示了每台主机的扫描结果。从最后一行信息,可以看到共扫描了七个IP地址。其中,六个主机是活动的,并且整个扫描过程共用了1.05秒。

Nmap扫描扫描随机目标

Nmap工具提供了一个-iR选项,可以用来选择随机的互联网主机来扫描。Nmap工具将会随机的生成指定数量的目标进行扫描。其中,语法格式如下所示:

【示例2-7】使用Nmap工具随机选择两个目标主机进行扫描。执行命令如下所示:

从输出信息中,可以看到Nmap工具随机生成了三个IP地址。但是,只有主机161.53.137.3是活动的,并且显示了对该主机的扫描结果。

提示:一般情况下,不建议用户实施随机扫描。除非,你是在做一个研究项目。否则,经常实施随机扫描可能会给自己的互联网服务提供商带来麻烦。

Nmap扫描指定扫描范围

当用户不确定扫描主机的地址时,可以通过指定一个地址范围实施扫描。通过指定扫描范围,从扫描结果中可以获取到活动的主机及相关信息。用户在指定一个扫描范围时,还可以排除单个或多个扫描目标。本节将介绍使用Nmap工具实施指定地址范围的扫描方法。

Nmap扫描IP地址范围扫描

用户在指定扫描范围时,可以通过IP地址或子网的方式来实现。下面将介绍使用IP地址指定扫描范围的方法。其中,语法格式如下所示:

在以上语法中,IP地址范围之间使用短连字符(-)。

【示例2-8】使用Nmap工具扫描192.168.1.1100之间的所有主机。执行命令如下所示:

从以上输出信息中,可以看到192.168.1-100之间,只有192.168.1.1192.168.1.100两台主机是活动的。

用户也可以指定扫描多个网络/子网范围的主机。例如,扫描CIP网络192.168.1.*192.168.100.*之间的所有主机。则执行命令如下所示:

以上命令中星号(*)是一个通配符,表示0-255之间所有有效的主机。

Nmap扫描整个子网扫描

Nmap也可以使用CIDR(无类别域间路由,Classless Inter-Domain Routing)格式来扫描整个子网。CIDR将多个IP网络结合在一起,使用一种无类别的域际路由选择算法,可以减少由核心路由器运载的路由选择信息的数量。其中,语法格式如下所示:

以上语法中的CIDR是由网络地址和子网掩码两部分组成,并且中间使用斜杠(/)分割。其中,CIDR和子网掩码对照表如表2-1所示。

2-3  CIDR对照表

技术分享

【示例2-9】使用Nmap扫描192.168.1.1/24整个子网中的所有主机。执行命令如下所示:

从输出信息中,可以看到共扫描了256个地址。其中,九台主机是活动的,并且共用时间为3.39秒。由于章节的原因,以上只列举了五台主机的扫描结果。其中,中间部分内容,使用省略号(......)代替了。

Nmap扫描排除扫描目标

当用户指定一个扫描范围时(如局域网),在该范围内可能会包括自己的主机,或者是自己搭建的一些服务等。这时,用户为了安全及节约时间,可能不希望扫描这些主机。此时,用户就可以使用--exclude命令将这些主机排除。其中,排除单个目标的语法格式如下所示:

【示例2-10】扫描192.168.1.1/24网络内除192.168.1.101以外的所有主机。执行命令如下所示:

从输出信息中,可以看到共扫描了255IP地址。其中,八个主机是活动的。由于章节的原因,中间省略了一部分内容。

用户使用--exclude选项,可以指定排除单个主机、范围或者整个网络块(使用CIDR格式)。例如,扫描192.168.1.1/24网络内,除192.168.1.100-192.168.1.103之外的所有主机。则执行命令如下所示:

从以上输出信息中,可以看到共扫描了252个主机。其中,有五个主机是活动的,其地址分别是192.168.1.1192.168.1.104192.168.1.105192.168.1.106192.168.1.107。根据输出的信息,可以发现没有对192.168.1.100-103之间主机进行扫描。

Nmap扫描排除列表中的目标

当用户排除扫描的目标很多时,也可以将这些目标主机的IP地址写入到一个文本文件中。然后,使用--excludefile选项来指定排除扫描的目标。其中,排除扫描列表中目标的语法格式如下所示:

【示例2-11】使用Nmap扫描192.168.1.0/24网络内主机,但是排除list.txt文件列表中指定的目标。具体操作步骤如下所示:

1创建list.txt文件,并写入要排除扫描目标的IP地址。如下所示:

在以上列表文件中,指定排除扫描以上四个IP地址的主机。

2实施扫描。执行命令如下所示:

从以上输出信息中,可以看到扫描的所有目标中,共有五台主机是活动的。

Nmap扫描实施全面扫描

在使用Nmap工具实施扫描时,使用不同的选项,则扫描结果不同。用户可以使用不同的选项,单独扫描目标主机上的端口、应用程序版本或操作系统类型等。但是,大部分人又不太喜欢记这些选项。这时候,用户只需要记一个选项-A即可。该选项可以对目标主机实施全面扫描,扫描结果中包括各种类型的信息。其中,实施全面扫描的语法格式如下所示:

【示例2-12】使用Nmap工具对目标主机192.168.1.105实施全面扫描。则执行命令如下所示:

从以上输出的信息,可以明显看出比前面例子扫描结果更详细。在以上输出信息中,可以看到目标主机上开启的端口、服务器、版本、操作系统版本、内核、系统类型等。根据分析输出的信息,可知目标主机上运行了FTPSSHTelnet等服务,并且可以看到各服务的版本及权限信息。而且,还可以知道目标主机的操作系统是Linux,内核版本为2.6.32等。

 本文选自:Nmap扫描基础教程大学霸内部资料,转载请注明出处,尊重技术尊重IT人!


评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!