Python - socket.gethostbyaddr () не работает в одном P C, но работает на другом - PullRequest
1 голос
/ 13 марта 2020

У меня есть скрипт Python для получения имени хоста для списка IP-адресов. Сценарий работает, когда я запускаю с одного компьютера, но тот же сценарий возвращает ошибку ([Errno 11004] host not found) при запуске с другого компьютера.

Оба компьютера W10 (v1809) с одинаковой версией Python (3.7.4), сидя рядом друг с другом и подключены к той же корпоративной сети. Я даже не знаю, где искать потенциальную разницу. Буду признателен за любые подсказки, где / что я должен искать, или если есть другой способ получить имя хоста от IP.

Вот мой код

    for ip in ipList:
        try:
            retVal = socket.gethostbyaddr(ip)
        except socket.error as serr:
            logger.debug('IP2Host for {} failed with Error {}'.format(ip, serr))
            retVal = 'FAILED'
        return retVal

1 Ответ

0 голосов
/ 13 марта 2020

Это, вероятно, связано с сетевыми настройками. Разрешение имени хоста обычно выполняется DNS ethe rnet протоколом или файлом hosts и сравнивает ваши настройки netwotrk (ipconfig / ALL)

проверяет результат системной команды nslookup ip в терминале.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...