
Python-инструментарий для работы с DNS, поддерживающий запросы, передачи зон, динамические обновления, TSIG, EDNS0, DNSSEC, DNS-over-HTTPS и DNS-over-QUIC с высоко- и низкоуровневыми API.
dnspython — это набор инструментов для работы с DNS на Python. Он поддерживает почти все типы записей. Его можно использовать для запросов, передачи зон и динамических обновлений. Он поддерживает сообщения с аутентификацией TSIG и EDNS0.
dnspython предоставляет как высокоуровневый, так и низкоуровневый доступ к DNS. Высокоуровневые классы выполняют запросы данных для заданного имени, типа и класса и возвращают набор ответов. Низкоуровневые классы позволяют напрямую манипулировать зонами, сообщениями, именами и записями DNS.
Имя модуля для dnspython — dns. Чтобы увидеть несколько способов использования dnspython, загляните в каталог examples/.
dnspython — это утилита для работы с DNS, поэтому /etc/hosts не используется. Для простых прямых DNS-запросов лучше использовать socket.getaddrinfo() или socket.gethostbyname().
dnspython возник в Nominum, где он был разработан для облегчения тестирования программного обеспечения DNS.
Это версия для разработки dnspython 2.9.0.
Пожалуйста, прочитайте
What's New для
получения информации об изменениях в этом выпуске.
pip install dnspython
pip install --upgrade pip build
python -m build
pip install dist/*.whl
pip install git+https://github.com/rthalley/dnspython.gitУстановка dnspython по умолчанию не зависит ни от каких модулей, кроме
тех, что входят в стандартную библиотеку Python. Для использования некоторых функций
необходимо установить дополнительные модули. Для удобства для требований
определены опции pip.
Если вы хотите использовать DNS-over-HTTPS, выполните
pip install dnspython[doh].
Если вы хотите использовать функциональность DNSSEC, выполните
pip install dnspython[dnssec].
Если вы хотите использовать функциональность интернационализированных доменных имён (IDNA),
вы должны выполнить
pip install dnspython[idna]
Если вы хотите использовать асинхронный пакет ввода-вывода Trio, выполните
pip install dnspython[trio].
Если вы хотите использовать WMI в Windows для определения активных настроек DNS
вместо метода сканирования реестра по умолчанию, выполните
pip install dnspython[wmi].
Если вы хотите попробовать экспериментальный код DNS-over-QUIC, выполните
pip install dnspython[doq].
Обратите внимание, что вы можете установить любую комбинацию из вышеперечисленного, например:
pip install dnspython[doh,dnssec,idna]
Поддержка Python 2.x завершилась с выпуском 1.16.0. dnspython поддерживает Python 3.10
и более поздние версии. Будущая поддержка согласована со сроком жизни версий Python 3.
Документация переехала на dnspython.readthedocs.io.