二、过滤特定的主机。

在企业网络中,有些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命令要比其他的一些图形化界面的扫描工具具有更大的优势。


相关内容