получить локальное имя хоста с IP-адреса, т.е. 192.168.1.x python 3 на windows 10 - PullRequest
0 голосов
/ 07 марта 2020

в настоящее время использует: - сокет импорта

hostip='192.168.1.62'
getip=socket.getaddrinfo(hostip,port=22)

возвращает информацию, но не включает имя хоста. похоже на локальную проблему DNS из других обсуждений. Локальный маршрутизатор находит все имена хостов.

1 Ответ

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

Имя хоста поддерживается только windows или netb ios, поэтому найти его в командной строке практически невозможно. Поэтому я переключился на поиск IP-адреса, сославшись на адрес Ma c. Лучшее решение на данный момент - использовать nmap и анализировать результаты. Мой код для IP-адресов до 192.268.1.99:

mac='0a:0b:0c:0d'
arpin=os.popen('nmap -sP -n 192.168.1.0/24',"r").read()
arl=arpin.split("\n")
fmac=[arl.index(i) for i in arl if mac in i]
fip=arl[fmac[0]-2][-12:]

fip получает IP-адрес устройства.

...