目标说明

除了选项,所有出现在Nmap命令行上的都被视为对目标主机的说明。 最简单的情况是指定一个目标IP地址或主机名。

有时候您希望扫描整个网络的相邻主机。为此,Nmap支持CIDR风格的地址。您可以附加 一个/<numbit>在一个IP地址或主机名后面, Nmap将会扫描所有和该参考IP地址具有 <numbit>相同比特的所有IP地址或主机。 例如,192.168.10.0/24将会扫描192.168.10.0 (二进制格式: 11000000 10101000 00001010 00000000)和192.168.10.255 (二进制格式: 11000000 10101000 00001010 11111111)之间的256台主机。 192.168.10.40/24 将会做同样的事情。假设主机 scanme.nmap.org的IP地址是205.217.153.62, scanme.nmap.org/16 将扫描205.217.0.0和205.217.255.255之间的65,536 个IP地址。 所允许的最小值是/1, 这将会扫描半个互联网。最大值是/32,这将会扫描该主机或IP地址, 因为所有的比特都固定了。

CIDR标志位很简洁但有时候不够灵活。例如,您也许想要扫描 192.168.0.0/16,但略过任何以.0或者.255 结束的IP地址,因为它们通常是广播地址。 Nmap通过八位字节地址范围支持这样的扫描 您可以用逗号分开的数字或范围列表为IP地址的每个八位字节指定它的范围。 例如,192.168.0-255.1-254 将略过在该范围内以.0和.255结束的地址。 范围不必限于最后的8位:0-255.0-255.13.37 将在整个互联网范围内扫描所有以13.37结束的地址。 这种大范围的扫描对互联网调查研究也许有用。

IPv6地址只能用规范的IPv6地址或主机名指定。 CIDR 和八位字节范围不支持IPv6,因为它们对于IPv6几乎没什么用。

Nmap命令行接受多个主机说明,它们不必是相同类型。命令nmap scanme.nmap.org 192.168.0.0/8 10.0.0,1,3-7.0-255将和您预期的一样执行。

虽然目标通常在命令行指定,下列选项也可用来控制目标的选择:

-iL <inputfilename> (从列表中输入)

<inputfilename>中读取目标说明。在命令行输入 一堆主机名显得很笨拙,然而经常需要这样。 例如,您的DHCP服务器可能导出10,000个当前租约的列表,而您希望对它们进行 扫描。如果您不是使用未授权的静态IP来定位主机,或许您想要扫描所有IP地址。 只要生成要扫描的主机的列表,用-iL 把文件名作为选项传给Nmap。列表中的项可以是Nmap在 命令行上接受的任何格式(IP地址,主机名,CIDR,IPv6,或者八位字节范围)。 每一项必须以一个或多个空格,制表符或换行符分开。 如果您希望Nmap从标准输入而不是实际文件读取列表, 您可以用一个连字符(-)作为文件名。

-iR <hostnum> (随机选择目标)

对于互联网范围内的调查和研究, 您也许想随机地选择目标。 <hostnum> 选项告诉 Nmap生成多少个IP。不合需要的IP如特定的私有,组播或者未分配的地址自动 略过。选项 0 意味着永无休止的扫描。记住,一些网管对于未授权的扫描可能会很感冒并加以抱怨。 使用该选项的后果自负! 如果在某个雨天的下午,您觉得实在无聊, 试试这个命令nmap -sS -PS80 -iR 0 -p 80随机地找一些网站浏览。

--exclude <host1[,host2][,host3],...> (排除主机/网络)

如果在您指定的扫描范围有一些主机或网络不是您的目标, 那就用该选项加上以逗号分隔的列表排除它们。该列表用正常的Nmap语法, 因此它可以包括主机名,CIDR,八位字节范围等等。 当您希望扫描的网络包含执行关键任务的服务器,已知的对端口扫描反应强烈的 系统或者被其它人看管的子网时,这也许有用。

--excludefile <excludefile> (排除文件中的列表)

这和--exclude 选项的功能一样,只是所排除的目标是用以 换行符,空格,或者制表符分隔的 <excludefile>提供的,而不是在命令行上输入的。