Один из способов определить публичный IP-адрес - перевести его в связанное с ним имя хоста или домена. Это можно сделать, выполнив обратный поиск IP-адреса на DNS-серверах.
Модуль socket предоставляет функции, связанные с IP-адресами, в Python. Функция gethostbyaddr позволяет получить имя хоста по IP-адресу.
Шаги по получению доменного имени из IP-адреса в Python
Запустите предпочитаемую оболочку Python.
1 | python3 |
1 | import socket |
Используйте socket.gethostbyaddr, чтобы получить имя хоста из IP-адреса.
1 | socket.gethostbyaddr('8.8.8.8') |
Создайте сценарий Python, принимающий в качестве параметра IP-адрес и выводящий соответствующую информацию о хосте.
1 | nano ip-to-hostname.py |
со следующим текстом
1 2 3 4 5 6 7 8 9 | #!/usr/bin/env python3 import socket import sys address = sys.argv[1] host = socket.gethostbyaddr(address) print('Address: ', address, '\n' 'Host: ', host) |
Запустите сценарий из командной строки и укажите в качестве параметра IP-адрес.
1 | python3 ip-to-hostname.py 8.8.8.8 |