使用IP地址-Python获取主机名

时间:2014-12-27 11:03:32

标签: python sockets networking python-3.x

我正在尝试使用ip地址显示所有连接的计算机名称,我可以通过检查连接获取IP地址

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((addr,80))

我尝试过使用s.getsocknamesocket.gethostnames.getpeername 这些都返回了类似的结果

如果需要显示姓名,我该怎么办?例如

192.168.1.1     - 192.168.1.1
192.168.1.50    - 192.168.1.50
192.168.1.113   - 192.168.1.113
192.168.1.114   - 192.168.1.114
192.168.1.139   - 192.168.1.139

我需要显示这个

192.168.1.1     - tom123
192.168.1.50    - allec
192.168.1.113   - john-pc
192.168.1.114   - bob
192.168.1.139   - anny

我试过socket.gethostbyaddr(“196.168.1.114”) - 它给了我一个例外说

print socket.gethostbyaddr("196.168.1.114")
     

socket.herror:[Errno 1]未知主机

1 个答案:

答案 0 :(得分:0)

我不知道这是否有帮助,但socket.getfqdn(IP_ADDRESS)会返回主机名。