我需要帮助来获取与套接字连接的客户端的主机名
部分代码:
s = socket.socket()
host = ''
port = 5007
s.bind((host, port))
s.listen(100)
conn, addr = s.accept()
print('connected by: ', addr)
我希望不要打印用户的IP地址,而是要打印其主机名。
谢谢。
答案 0 :(得分:1)
如果客户端IP地址有DNS PTR记录,那么gethostbyaddr将为您提供使用该记录设置的名称。请注意,该调用将一直阻塞,直到DNS查找完成(或失败),所有IP地址都没有PTR记录,并且您不能真正信任此记录的内容,因为IP地址的所有者可以声明任何主机名,即使该域名是别人拥有的。