Это для печати ip в диапазоне / 28 su bnet (которые являются 16 IP), и я получаю только 1 в качестве вывода. У меня есть фактический вывод для этого кода и ожидаемый, чтобы я мог понять это лучше, пожалуйста, дайте мне знать, какова корректировка, которую я должен сделать здесь.
givenIp = '192.168.2.0/28'
subNet = givenIp.split('/')
ip = subNet[0]
subNetMask = subNet[1]
def totalNoOfHosts(NetMask):
hosts = (32 - int(NetMask)) * 4
return hosts
NoOfHost = totalNoOfHosts(subNetMask)
def ipInRange(baseIp):
print('Number of hosts:' + str(NoOfHost))
splitIP = baseIp.split('.')
fourthOctet = splitIP[3]
for i in str(NoOfHost):
fourthOctet = int(fourthOctet) + 1
splitIP[3] = fourthOctet
newIp = splitIP
print(newIp)
return newIp
Вывод:
Number of hosts:16
['192', '168', '2', 1]
Ожидаемый результат:
['192', '168', '2', 1]
['192', '168', '2', 2]
['192', '168', '2', 3]
.
.
.
.
['192', '168', '2', 16]