如何查找 IP 地址的斜线格式?

如何查找 IP 地址的斜线格式?

例如,在此 IP 地址中:145.32.59.24

答案中的斜线格式应为/16。

但我不知道如何确定这一点。

我知道这是一个 B 类 IP 地址。

请帮帮我......我一直在努力解决这个问题。

答案1

自 1993 年推出无类别互联网域路由 (CIDR) 以来,网络/主机的 ABC“类别”已变得越来越不实用和被遵循。没有可靠的方法可以仅从地址确定 IPv4 地址到其网络和主机组件的划分。用于指定网络掩码的 /n 格式假定一个连续的网络掩码有这么多位,最右边的余数是主机部分。

因此,旧式 A 类表示为 /8,B 类表示为 /16,C 类表示为 /24。但是,使用 CIDR,您不局限于这些分区,而是可以任意分割 32 位地址。您需要网络掩码来确定正确的 /n。相反,给定 /n,就可以确定网络掩码。例如,/16 的网络掩码为 255.255.0.0。

答案2

这称为“网络掩码”;而不是“斜杠格式”。如果有的话,您可以将其称为“CIDR 表示法”。格式通常无关紧要。这将返回以下dot-notation格式的网络掩码:

#!/bin/sh
ifconfig "$1" | sed -rn '2s/ .*:(.*)$/\1/p'

只需像这样调用它:script.sh eth0。如果您愿意,您可以解析它以创建 CIDR 表示法,或者您可以尝试从ip addr已经以 CIDR 表示法显示的输出中解析它。但我手边没有这个代码。

您可能已经注意到,这两种解决方案实际上都不会获取 IP 地址并输出网络掩码。这是不可能的。我们在配置 IP 时需要指定网络掩码的原因是 IP 无法自动确定网络掩码。网络掩码是应用于 IP 地址的过滤器。它包含 IP 地址所不具有的信息。这两种解决方案实际上都只是返回用于配置接口的网络掩码。

相关内容