Например, в этом IP-адресе: 145.32.59.24

формат слеша должен быть /16 в ответе.

Но я понятия не имею, как это определить.

Я понимаю, что это IP-адрес класса B.

Пожалуйста, помогите мне.. Я так старался понять это.

2 ответа2

4

С тех пор как в 1993 году была введена бесклассовая маршрутизация в домене (CIDR), "классы" сети / хоста ABC стали все менее и менее полезными и им следовали. Не существует надежного способа определения разделения IPv4-адреса на его сеть и компоненты хоста по одному адресу. Формат / n для указания маски сети предполагает непрерывную маску из такого количества битов, причем самый правый остаток является частью хоста.

Таким образом, старый класс A будет выражаться как /8, B как /16, а C как /24. Однако с помощью CIDR вы не ограничены этими разделами, но можете произвольно разделить 32-битный адрес. Вам нужна сетевая маска, чтобы определить правильное значение /n. И наоборот, учитывая /n, можно определить маску сети. Например, /16 будет иметь маску 255.255.0.0.

1

Это называется «маска сети»; не «формат слеша». Во всяком случае, вы можете назвать это «нотация CIDR». Формат вообще не имеет значения. Это вернет маску сети в формате dot-notation :

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

Просто назовите это как: script.sh eth0 . Если вы хотите, вы можете проанализировать это, чтобы создать нотацию CIDR, или вы можете попытаться проанализировать ее по выводу ip addr который уже отображается в нотации CIDR. Я не имею этот код под рукой, хотя.

Возможно, вы заметили, что ни одно из этих решений на самом деле не берет IP-адрес и не выдает сетевую маску. Сделать это невозможно. Причина, по которой мы должны указать маску сети при настройке нашего IP-адреса, заключается в том, что он не может автоматически определяться IP-адресом. Маска сети - это фильтр, который применяется к IP-адресу. Он содержит информацию, не присущую IP-адресу. Оба эти решения на самом деле просто возвращают маску сети, используемую для настройки интерфейса.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .