Mik*_*ton 2 python networking python-2.7
我有一个脚本,它给出了本地网络中的一堆本地 IPv4 地址。我可以通过以下方式获取Python2.7中这些IP的主机名:
socket.gethostbyaddr(IP)
Run Code Online (Sandbox Code Playgroud)
但是,这些主机名(如果已解析)会以以下形式返回:
hostname.local.companyname.com
Run Code Online (Sandbox Code Playgroud)
我对这个值唯一感兴趣的信息是hostname. 我想local.companyname.com从完全限定的主机名中删除域名。我可以找到所有已解析主机名的共同点,然后以这种方式删除它们,但我想知道是否有任何方法可以直接查询本地域本身?
(编辑:这是在 Ubuntu 上运行的)
对于默认机器域名尝试:
import socket
def get_dns_domain():
return socket.getfqdn().split('.', 1)[1]
print get_dns_domain()
Run Code Online (Sandbox Code Playgroud)