LAN 接続されたサーバーのホスト名を取得しようとしているので、ホスト名を使用してこれらのサーバーに対してクエリを実行できます。
import socket
IP_RANGE = 10
hostNamesList = []
socket.setdefaulttimeout(0.1)
for i in range(IP_RANGE):
try:
hostNamesList.append(socket.gethostbyaddr("192.168.1.%s" % i)[0])
except:
pass
print hostNamesList
上記のコードでは、タイムアウトを 0.1 秒に設定しても、選択した IP 範囲をスキャンするのに数分かかります。
私が間違ったこと、またはホスト名をより速く取得する方法はありますか?