在使用Nmap并使用ping来扫描networking时

我正在研究使用Nmap,并且有一个命令,通过简单的Ping扫描来扫描networking,以确定哪些主机在线。

命令是这样的:

1 [ignore_this]# nmap -sP 10.0.0.0/24 

而输出:

  3 Starting Nmap 4.01 ( http://www.insecure.org/nmap/ ) at 4 2006-07-14 14:19 BST 5 Host 10.0.0.1 appears to be up. 6 MAC Address: 00:09:5B:29:FD:96 (Netgear) 7 Host 10.0.0.2 appears to be up. 8 MAC Address: 00:0F:B5:96:38:5D (Netgear) 9 Host 10.0.0.4 appears to be up. 10 Host 10.0.0.5 appears to be up. 11 MAC Address: 00:14:2A:B1:1E:2E (Elitegroup Computer System Co.) 12 Nmap finished: 256 IP addresses (4 hosts up) scanned in 5.399 seconds 

而我是一个小混混…命令是nmap -sP 10.0.0.0/24 。 对于我在networking方面的基本知识,这只是一个A类的IP地址,除了/ 24最后是子网掩码。 他为什么包括子网掩码?

对不起,如果我有点不明白,不太了解这个话题,但我不知道为什么/ 24在那里。 就我个人而言,我从来没有使用子网,我不熟悉它。 我所做过的最多的子网划分是将它写在纸上,并找出主机部分/networking和广播部分是什么。 我从来没有真的在计算机中使用子网划分,我甚至不知道你可以通过/ 24来ping IP地址。

如果有人知道

  1. 他从哪里弄来的?
  2. 他为什么包括它
  3. 多一点关于它如何工作…

即使10.0.0.0被定义为A类networking,您仍然可以在其中定义更小的networking。

所以10.0.0.0/24被用来定义一个范围从10.0.0.0到10.0.0.255的较小的networking。 例如,/ 23也可以用来定义一个范围为10.0.0.0到10.0.1.255的networking。

我build议你看看CIDR计算器在下面的URL( http://www.subnet-calculator.com/cidr.php

作为一个侧面说明,在你的命令中,你不是要求NMAP ping一个IP …你要求他扫描一个定义的范围。 你也可以把它指向一个单一的IP,但NMAP很可能将其翻译为$ ip / 32。

Nmap允许各种目标规格。 要一次扫描多台计算机,可以使用IP地址列表,主机名,CIDR表示的networking列表(如您的示例)或类似10.0.0.0-255的范围(与您的示例相同)。 在内部,Nmap将指定的所有目标分离为单独的地址,并将探测发送给每个地址。

-sP参数(在以后的发行版中重命名为-sn以表示“跳过portscan”)指示Nmap执行主机发现,它以许多不同的方式进行。 如果以root权限运行它,它将发送一个ICMP回应请求(“ping”),一个TCP SYN数据包到端口443,一个TCP ACK数据包到端口80,以及一个ICMP时间戳请求。 如果这些探针中的任何一个接收到响应,则主机启动。 未授权的扫描尝试TCP连接到端口80和端口443,寻找任何响应,但超时。

对于10.0.0.0networking, RFC 1918 预留了专用的10.0.0.0/8(“A类”networking),但是私人使用可能涉及子网划分或仅占用一小部分空间。 实际上,很less有组织在/ 8上需要> 16M的地址,但是比172.16.0.0/12或192.168.0.0/16更容易记住地址空间,所以它在教程中被使用了很多。