Еще 3 единицы есть в 1 байте слева,
['10
111000', '10110010', '00110110', '10010000']
так что подойдут все адреса этой сети, т.е 2**4=16
adres='184.178.54.144'; print( [ bin(int(ip))[2::].zfill(8) for ip in adres.split('.') ] )
adres='255.255.255.240'; print( [ bin(int(ip))[2::].zfill(8) for ip in adres.split('.') ] )
for c in product('01',repeat=4):
if '111' in '10111000'+'10110010'+'00110110'+'1001'+''.join(c):
print('10111000'+'10110010'+'00110110'+'1001'+'-'+''.join(c))
>>>
['10111000', '10110010', '00110110', '10010000']
['11111111', '11111111', '11111111', '11110000']
1011100010110010001101101001-0000
1011100010110010001101101001-0001
1011100010110010001101101001-0010
1011100010110010001101101001-0011
1011100010110010001101101001-0100
1011100010110010001101101001-0101
1011100010110010001101101001-0110
1011100010110010001101101001-0111
1011100010110010001101101001-1000
1011100010110010001101101001-1001
1011100010110010001101101001-1010
1011100010110010001101101001-1011
1011100010110010001101101001-1100
1011100010110010001101101001-1101
1011100010110010001101101001-1110
1011100010110010001101101001-1111