Все задачи №10
№10

Третий байт маски

Узел с IP-адресом 192.168.52.77 находится в сети с адресом 192.168.48.0. Чему равно наибольшее возможное значение третьего слева байта маски этой сети? Ответ запишите в десятичной системе.

Учебная задача

Ответвпиши то, что вывела программа
Показать разбор
  1. Маска неизвестна, поэтому перебери число единиц m от 0 до 32.
  2. Для каждого m создай сеть с адресом узла и второй аргумент False.
  3. Сравни str(net.network_address) с адресом сети из условия.
  4. У подошедшей маски достань третий байт: str(net.netmask).split('.')[2].
  5. С ростом m байт не уменьшается, поэтому нужен байт последней подошедшей маски.
from ipaddress import ip_network

for m in range(0, 33):
    net = ip_network(f'192.168.52.77/{m}', False)
    if str(net.network_address) == '192.168.48.0':
        last = str(net.netmask).split('.')[2]
print(last)