使用套接字获取连接用户的主机名

时间:2018-07-23 16:24:20

标签: python python-3.x sockets

我需要帮助来获取与套接字连接的客户端的主机名

部分代码:

s = socket.socket()
host = ''
port = 5007
s.bind((host, port))
s.listen(100)
conn, addr = s.accept()
print('connected by: ', addr)

我希望不要打印用户的IP地址,而是要打印其主机名。

谢谢。

1 个答案:

答案 0 :(得分:1)

如果客户端IP地址有DNS PTR记录,那么gethostbyaddr将为您提供使用该记录设置的名称。请注意,该调用将一直阻塞,直到DNS查找完成(或失败),所有IP地址都没有PTR记录,并且您不能真正信任此记录的内容,因为IP地址的所有者可以声明任何主机名,即使该域名是别人拥有的。