我目前正在尝试为我的家庭网络构建一个小型 Networkscan。 为了解析主机名,我想使用在 for 循环中调用的函数来迭代一系列 IP。这做得很好,但我认为 gethostbyaddr(tgtHost) 函数非常非常慢。有没有办法加快速度或使用替代功能?
def fn_hostscan(tgtHost):
response = os.system("ping -n 1 " + tgtHost + "> C:\\temp\log.txt")
if response == 0:
try:
tgtName = gethostbyaddr(tgtHost)
print("\n[+] " + tgtHost + " = " + tgtName[0])
except:
dummy = 0
else:
print("\n[-]" + tgtHost + " = None found")
最佳答案
看看周围有什么:
这适合您的目的吗? - Finding local IP addresses using Python's stdlib
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(("gmail.com",80))
print(s.getsockname()[0])
s.close()
关于Python 主机名解析非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28744556/