我的子网掩码是 255.255.255.255。(为什么我的子网掩码是 255.255.255.255?)。我从上面的问题中得知,这就像每台计算机都在自己的网络上并且无法相互交互一样。但是,如果我使用 armitage(metasploit 的一部分)并扫描我网络上的主机,它会向我显示连接到我本地网络的所有计算机。
当我的子网掩码 255.255.255.255 强制计算机位于不同的网络上时,这怎么可能呢?
另外,有什么方法可以更改此子网掩码,以便将所有计算机都加入同一个网络吗?(我使用 Windows,但即使我转到 ipv4 属性并设置默认子网掩码,它似乎也不会反映在路由器中。)
答案1
255.255.255.255 是一个广播地址,与 0.0.0.0 相同,如果您想要两个端点,子网掩码将是 255.255.255.254(但这仍然不能满足您的要求。您要求的是 VLAN 或 PVLAN(虚拟或私有局域网)。这至少需要能够进行第 2 层交换和 VLAN 支持的硬件。但是,您仍然需要第 3 层路由能力才能在 VLAN 之间进行通信。VLAN 将虚拟化冲突域,因此 VLAN2 看不到 VLAN3,除非在连接 VLAN2 和 VLAN3 的第 3 层路由器中定义。poorman 的版本将是计算机中作为路由器和网络交换机的 n+1 个以太网端口,其中“n”是 PC 的数量,“+1”是连接到互联网的端口。计算机需要运行一些软件,如 linux 作为防火墙/代理/路由器,并将所有端口定义为不同的子网,如192.168.1.0/31 192.168.2.0/31 <-- 这个 /31 表示 255.255.255.254,它允许恰好两个主机。扫描工具之所以能看到所有内容,是因为软件的工作方式是将地址增加一,然后要求在该地址进行回显响应,而且您使用的子网掩码也是广播地址。目前,您的所有 PC 都在同一个冲突域中,因此它们可以很好地互相看到,并且 ipv4 欺骗不会将它们分开。
答案2
子网掩码仅仅是软件的一个指南;路由决定哪些地址是尝试通信的有效选择。
答案3
这是因为网络上的主机始终与其路由器联系,而不管其网络中的任何其他主机。假设机器 A 的 IP 地址为 I A,机器 B 的 IP 地址为 I b。
现在,两者的子网掩码均为 255.255.255.255,如执行 ipconfig 所示。现在对 I A和 255.255.255.255 进行按位与运算可得出 A 的网络 ID,该 ID 仅是其 IP 地址,因为 255.255.255.255 仅包含 1。类似地,B 的网络 ID 将是其自己的 IP 地址。这将确保数据包始终首先发送到路由器,因为机器 A 和 B 始终位于不同的网络中。
答案4
首先,路由器的哪里这么说?
其次,它前面会有另一个地址,如 203.1.1.11 255.255.255.255 请用此信息更新您的问题。255.255.255.255 特指子网掩码,而不是 IP 地址。这告诉路由器指定子网使用了多少位。通常仅在路由器与 ISP 建立公共 IP 连接或在类似环境中使用。
第三,请描述您的互联网/网络设置。
在 Windows 7 中,您可以使用 ipconfig /all 从命令提示符获取所有 IP 地址信息。