【发布时间】:2014-12-27 11:03:32
【问题描述】:
我正在尝试使用 ip 地址显示所有连接的机器名称,我可以通过检查连接来获取 IP 地址
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((addr,80))
我尝试过使用s.getsockname、socket.gethostname 和s.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] 未知主机
【问题讨论】:
-
顺便问一下,你是在客户端还是服务器端运行这个?这可能会有所作为
-
@PeterWood 我认为不是。在这种情况下,他们正在获取服务器的主机名。在这种情况下,他正在局域网上工作。
-
Python 从 IP 查找主机名,超时时间为 1 秒——我已经尝试过了,它正在爆炸并显示错误消息“未知主机名”
-
你可以试试 nmap pastebin.com/2XUmEaj3
-
socket.herror: [Errno 1] Unknown host 这是我在使用 socket.gethostbyaddr("196.168.1.114") 后遇到的错误
标签: python sockets networking python-3.x