Извлечь префикс ipv6 в Python - PullRequest
       17

Извлечь префикс ipv6 в Python

1 голос
/ 11 декабря 2008

Учитывая двоичное или строковое представление адреса IPv6 и длину его префикса, каков наилучший способ извлечь префикс в Python?

Есть ли библиотека, которая сделала бы это для меня, или мне пришлось бы:

  1. преобразовать адрес из строки в int (inet_ntop)
  2. Маска префикса
  3. Преобразование префикса обратно в двоичный файл
  4. Преобразование двоичного файла в строку (inet_ntop)

Ответы [ 2 ]

2 голосов
/ 12 декабря 2008

См. http://code.google.com/p/ipaddr-py/

С этим вы можете сделать

py> p=ipaddr.IPv6("2001:888:2000:d::a2")
py> p.SetPrefix(64)
py> p
IPv6('2001:888:2000:d::a2/64')
py> p.network_ext
'2001:888:2000:d::'

и т.д.

0 голосов
/ 05 октября 2011

Использование python netaddr библиотека:

>>> from netaddr.ip import IPNetwork, IPAddress
>>> IPNetwork('2001:888:2000:d::a2/64').network
2001:888:2000:d::
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...