我想知道如何获取网络接口的掩码。用ifconfig
它很简单,但我必须使用该ip
工具,并且ip addr show
没有向我展示我想要的东西。
下面是一个输出示例ip addr
:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
另外,那个 brd 字段是什么?
答案1
in
/8
是127.0.0.1/8
网络掩码。brd
是“广播”的缩写。ip 的在线手册页
额外提示 - 用于ip -o addr show
获取一行输出,从中提取数据稍微容易一些。
答案2
CIDR 表示法中的子网掩码(例如 /8)表示用于子网掩码的位。
255.255.255.0 的“旧”方式显示 4 个字节,每个字节 8 位。环回地址 127.0.0.1 的典型子网掩码是 255.0.0.0。这意味着一个字节(8 位)被完全用作子网掩码。 127.0.0.1/8 中写为/8。
另一个常用的子网是 192.168.0.0。默认子网掩码为 255.255.255.0。由此您可以看出,子网掩码使用了 3 个字节,每个字节由 8 位组成。这 3 个字节 x 8 位等于 24。这样的网络写为 192.168.0.0/24。如果您看到像 192.168.0.1/24 这样的地址,您就知道子网掩码使用了 24 位。