热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Linux系统中Nmap强大的扫描功能

安装Linux后,会发现Linux终会有很都应用工具,这些工具的强大用能让Linux网络工程师与系统管理员喜欢得不得了,就比如说NMAP工具。NMAP工具主要的功能就是可以用来判断网络布局、主机打开的端口与服务等等。而这些信息的话对于管理员提高系统的安全性又具

安装Linux后,会发现Linux终会有很都应用工具,这些工具的强大用能让Linux网络工程师与系统管理员喜欢得不得了,就比如说NMAP工具。NMAP工具主要的功能就是可以用来判断网络布局、主机打开的端口与服务等等。

而这些信息的话对于管理员提高系统的安全性又具有至关重要的作用。NMAP为建立使用安全服务和停运不被使用能够服务的政策奠定了良好的基础。

如上图就是NMAP运行的命令结果。他可以通过对特定主机进行扫描,以发现其所采用的操作系统、所打开的端口与采用的服务等等。不过SMAP是在shell下运行的一个命令其没有直观的界面。为此对于不少Linux系统管理员来说这是一个难以跨越的障碍。我刚开始的时候也特别不习惯,很羡慕Windows下面的一些局域网扫描工具,如流光扫描等等。这些工具都提供了友好的图形化操作界面。不过后来我用惯了这个命令之后,反而离不开这个NMAP命令了。因为经过多次使用,我发现了很多其他扫描工具难以实现的功能。只要灵活使用这个命令,相比其他扫描工具来说,系统管理员会有更大的收获。废话就不说了,我转入正题,谈谈如何巧用NMAP来收集局域网中的主机信息。

一、扫描一批主机。

若你正在负责你们公司局域网的安全,那么就需要知道企业局域网中哪些主机开启了不需要的服务与端口。这会为局域网的安全埋下安全隐患。为此就需要对局域网的主机进行扫描,以收集开发的端口与启用的服务信息。

NMAP命令就可以实现这个目的。因为NMAP命令支持CIDR风格的地址。如系统管理员可以采用192.168.0.0/24的形式来表示一串IP地址。这是一种通过子网掩码来表示IP地址串的一种方法。但是很显然,CIDR命名方法虽然比较简单但是不够灵活。如现在企业中192.168.0.4是一台文件服务器。在扫描的时候,系统管理员不希望NMAP命令扫描这台主机,以免信息外漏给攻击者提供方便。为此在实际工作中对局域网主机进行扫描的时侯,往往需要过滤某些特定的主机。另外也不希望对192.168.0.0等特殊的地址进行扫描,因为这些是广播地址,不对标特定的主机。现在市面上的扫描软件基本上都支持CIDR风格的IP地址。但是NMAP却可以把某些特定的IP地址过滤掉,或者只收集一些特定IP地址主机的信息。

如NMAP命令后面可以利用逗号来分隔多个IP地址,还可以通过范围列表来选定特定IP地址的主机。不过当需要扫描的主机比较多时,通过手工输入的方式将会很麻烦。而NMAP命令最值得我推荐的就是可以从一个列表中制定需要扫描的IP地址信息。也就是说,系统管理员可以预先把需要收集信息的主机的IP地址保存在一个文件中。然后让NMAP命令从这个文件中读取IP地址信息。这即省去了输入的麻烦,提高了工作效率;而且这个文件还可以重复使用。如利用“nmap CiL 文件名”的方式即可。我现在在企业中是利用DHCP服务器来管理IP地址的。IP地址分配即有动态的、又有静态的。我会定期对局域网内的主机进行扫描,以防止用户打开了不安全的端口。在扫描的时候如果主机比较多,需要花费比较多的时间。为此我是采用循环扫描的方式,如一次扫描50台主机等等,一个月刚好循环一次。为了达到这个目的,我就从DHCP服务器中导出了所有在用的IP地址列表,然后制作成一个文本文件。注意NMAP命令不支持EXCEL格式的文件,所以需要把这个列表转换成文本格式的文件。然后我就可以利用“nmap CiL 文件名”命令来扫描文件中规定IP地址的主机,收集有用的信息,以保障局域网内主机的安全。

二、过滤特定的主机。

在企业网络中,有些IP地址对应着特殊的服务。无论是出于安全考虑还是性能方面的考虑,都不希望NMAP命令对这些IP地址所对应的主机进行扫描。如192.168.0.2可能是企业局域网中的一台网络打印机。对这个IP地址进行扫描往往没有多大实际的价值,除了浪费时间就是增加系统管理员的阅读量。为此系统管理员希望在使用这个命令进行扫描的时候,能够过滤一些特定的主机,以缩短扫描的时间、简化扫描的结果。NMAP命令支持用户的这种需求。

如系统管理员可以通过exclued参数来排除不需要收集信息的主机。如nmap exclude 192.168.0.2,192.168.0.3就表示用户不需要对这两个IP地址的主机进行扫描。也就是说如果扫描范围内有一些主机不需要扫描,则可以利用逗号把它们分开,并通过Exclued参数来实现过滤。这个参数后面不但可以接IP地址,而且还可以接主机名、CIDR格式的IP地址名等等。通常情况下扫描的网络中如果包含正在执行关键任务的服务器、对端口扫描反应强烈的应用程序,这功能通常很有用。

但是当过滤的主机比较多时,如果采用一个个的输入IP地址来实现,也是非常不方便的。如果系统管理员正在这么做的话,那对于这个命令可能还只是一知半解。其实这个Exclued参数还有一个同父异母的兄弟,即excludefile。顾名思义,这个参数后面可以接一个文本文件。在这个文本文件中包含的IP地址都将会被过滤掉。它的实际作用,跟Exclued参数一样,只是其所排除的目标主机信息是从一个文件中取得的,而不是在命令行中输入的。这个文件中的IP地址或者主机名字可以用换行符、空格、或者制表符分隔。显然通过文件的形式来保存需要过滤的主机信息,不但可以提高扫描的效率,而且在下次扫描时还可以重复利用。

我现在特别喜欢使用NMAP命令来收集相关的主机信息,最主要的就是看中这个功能。可以让NMAP命令从特定的文件中读取IP地址或者主机名字信息,然后通过参数选项来实现从列表中收集主机信息或者过滤某些特定的主机。这可以在很大程度上提高我们的工作效率,提高NMAP命令的灵活性。

三、随机选择目标主机收集信息。

有时候出于研究或者测试的需要,要随即的选择IP地址进行扫描,并收集端口、服务等相关信息。Nmap命令也支持对网络上的主机进行随即扫描。这主要是借助于iR选项,这个选项后面需要跟一个整数类型的数字。若是0的话,则表示永无休止的扫描。由于扫描不但会引起用户的反感,而且也会影响本机的性能,为此这个永无休止的扫描最好不要用。若跟着是其他数字的话,则表示需要随机生成多少个IP地址进行扫绝。注意这里生成的IP地址是随机的,而不是从小到大或者从大到小。只有如此这个命令收集起来的信息才具有参考的价值。另外值得称道的是,使用者选项的时候,如果其生成的主机地址中包含了组播或者未分配的IP地址的话,则这个命令会自动略过。显然这是一个很人性化的设计。

再次强调一下,对网络上的主机进行扫描的话,会一件“害人害己”的事情。因为有些操作系统或者应用程序对于网络扫描很敏感,扫描可能会影响他们的正常运行。另外扫描也需要耗费本机的大量资源。为此及时采用SMAP命令进行扫描的话,一次性扫描的主机也不宜过多,而且频率也不要台过于频繁。如果企业网络中客户端比较多的话,那么分次批量扫描收集信息是比较合理的选择。

另外NMAP命令虽然是一个在Linux操作系统上运行的开源扫描工具。但是其不仅可以扫描Linux的客户端,而且还可以扫描包括Windows操作系统在内的客户端。他通过一些标示符来区分是什么类型的操作系统。而且,即使客户端时一台网络打印机,NMAP命令也可以扫描并收集相关重要的信息。上面这张截图中所收集的信息就是一台网络打印机的启用的端口与服务信息。这就可以帮助系统管理员把企业网络中的设备一网打尽。

这就是NMAP工具的强大功能。


推荐阅读
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 本文详细介绍了IBM DB2数据库在大型应用系统中的应用,强调其卓越的可扩展性和多环境支持能力。文章深入分析了DB2在数据利用性、完整性、安全性和恢复性方面的优势,并提供了优化建议以提升其在不同规模应用程序中的表现。 ... [详细]
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • Valve 发布 Steam Deck 的新版 Windows 驱动程序
    Valve 最新发布了针对 Steam Deck 掌机的 Windows 驱动程序,旨在提升其在 Windows 环境下的兼容性、安全性和性能表现。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 优化版Windows 10 LTSC 21H2企业版:适用于低内存设备
    此版本为经过优化的Windows 10 LTSC 21H2企业版,特别适合低内存配置的计算机。它基于官方版本进行了精简和性能优化,确保在资源有限的情况下依然能够稳定运行。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • 网络攻防实战:从HTTP到HTTPS的演变
    本文通过一系列日记记录了从发现漏洞到逐步加强安全措施的过程,探讨了如何应对网络攻击并最终实现全面的安全防护。 ... [详细]
author-avatar
无敌鸟的秋天
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有