在Python中获取DNS搜索后缀

时间:2014-01-23 20:16:43

标签: python networking dns pywin32

有没有人知道如何在客户端上获取DNS搜索后缀列表 - 包括已手动添加的和DHCP分配的后缀。我更喜欢拥有跨平台的解决方案,但只有Windows解决方案才有效。我在pywin32或其他模块中找不到任何东西......

1 个答案:

答案 0 :(得分:2)

经过一番调查后,由于操作系统以不同方式存储此信息,因此看起来并不存在跨平台方式。在Windows上,我最终通过注册表查询信息:

def getLocalDomainSuffix():
    domainSuffixSet = set()
    netKey = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, 'SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters')
    for keyName in ("DhcpDomain", "SearchList"):    
        value, type = _winreg.QueryValueEx(netKey, keyName)
        if value:
            for item in value.split(','):
                domainSuffixSet.add(item)
    return domainSuffixSet