№10 · решено
Третий байт маски
Узел с IP-адресом 192.168.52.77 находится в сети с адресом 192.168.48.0. Чему равно наибольшее возможное значение третьего слева байта маски этой сети? Ответ запишите в десятичной системе.
Учебная задача
Ответвпиши то, что вывела программа
Показать разбор
- Маска неизвестна, поэтому перебери число единиц m от 0 до 32.
- Для каждого m создай сеть с адресом узла и второй аргумент False.
- Сравни str(net.network_address) с адресом сети из условия.
- У подошедшей маски достань третий байт: str(net.netmask).split('.')[2].
- С ростом 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)