def ip2hostname(self,ip):
try:
hostname = socket.gethostbyaddr(ip)[0]
return hostname
except:
pass
try:
query_data = "\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x20\x43\x4b\x41\x41" + \
"\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41" + \
"\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x00\x00\x21\x00\x01"
dport = 137
_s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
_s.settimeout(3)
_s.sendto(query_data, (ip, dport))
x = _s.recvfrom(1024)
tmp = x[0][57:]
hostname = tmp.split("\x00", 2)[0].strip()
hostname = hostname.split()[0]
return hostname
except:
pass
评论列表
文章目录