二、过滤特定的主机。
在企业网络中,有些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命令的灵活性。