• XSS.stack #1 – первый литературный журнал от юзеров форума

Подскажите, можно ли...

Dangerclose

floppy-диск
Пользователь
Регистрация
22.10.2020
Сообщения
8
Реакции
0
Данной командой я разложу
из формата CIDR в список столбом все диапазоны
Python:
import ipaddress
ips = ipaddress.IPv4Network('192.168.1.1/24')
for ip in ips:print(ip)

Можно ли разложить сразу несколько ip? Попытка оказалась не удачной:С


Python:
import ipaddress
ips = ipaddress.IPv4Network('192.168.1.1/24')
ips = ipaddress.IPv4Network('192.168.1.1/24')
for ip in ips:print(ip)

Спасибо
 
Python:
import ipaddress

networks = ['192.168.0.0/16', '127.0.0.0/16']
for network in networks:
    for ip in ipaddress.IPv4Network(network):
        print(ip)


Терминал не может вывести столько строк, пытаюсь вывести в файл. Если выводить со значением 16 , все работает. Если меняю значение на cidr на 18. Скрипт перестаёт работать, хотя я не меняю его структуру.
Не подскажешь в чём проблема?
Python:
:~/Загрузки# python3 py.py> ~/Загрузки/загрузки
Traceback (most recent call last):
  File "py.py", line 5, in <module>
    for ip in ipaddress.IPv4Network(network):
  File "/usr/lib/python3.8/ipaddress.py", line 1454, in __init__
    raise ValueError('%s has host bits set' % self)
ValueError: 3.5.74.0/18 has host bits set
 
я наверное идиот, но ты ведь приводишь рабочий пример, а потом спрашиваешь как сделать тоже самое? Или я перепил, или ты гонишь
Первый работает прекрасно, второй - нет
 
Я не силен в масках, поэтому моё мнение может быть ошибочным, но насколько я понял, если ты генеришь по маске, то указывать нужно крайний айпишник. В твоём случае 3.5.64.0/18
Python:
>>> ips = [ip for ip in ipaddress.ip_network('3.5.64.0/18')]
>>> ipaddress.IPv4Address('3.5.74.0') in ips
True
ЗЫ: калькулятор масок в помощь (ip mask calculator)
 
Последнее редактирование:


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх