Я написал сценарий, который проходит через все локальные IP-адреса в сети «0» (192.168.0. *)..gethostbyaddr() не работает на всех устройствах. Зачем? (Python)
Я использую петлю с socket.gethostbyaddr(ip_modified_by_the_loop_each_time)
.
Цикл возвращает мне 3 устройства своим именам хостов. Теперь я обнаружил, что он не находит 4 устройства (по крайней мере).
- Это действительно мой ноутбук для Windows, а не мой Android-телефон. Он находит
- один MacBook, а не iMac, а не другой MacBook. Это также не
- найти любой телефон.
Я знаю, что все устройства находятся в сети и имеют IPv4-адрес.
Я могу проверить их очень хорошо, он отлично реагирует. Но когда я использую socket.gethostbyaddr(ip_modified_by_the_loop_each_time)
, он выдает сообщение об ошибке.
Я использовал инструкцию try:
/except:
, чтобы обойти эту ошибку, но она по-прежнему не может найти мой телефон по IP и получить имя хоста, но я знаю, что он есть. Я использую python 3.3
Почему это происходит, как это исправить?
спасибо.