2016-04-26 74 views
0

有什么办法通过使用php代码找出LDAP server ip(s)?我没有发现任何与我想要的相关的东西所以我没有尝试。刚刚阅读Ldap,并没有发现任何东西得到LDAP server ip由php。通过php获取LDAP服务器ip(s)

+0

您是否尝试发现网络上的LDAP服务器,或者您是否试图使用主机名来获取特定LDAP服务器的IP地址? –

+0

我想获得ldap服务器ip我在哪里工作 – urfusion

回答

0

您可以使用下面的下降函数获取给定域中的LDAP服务器:

/** 
* Get an array of all the LDAP servers for a domain by querying DNS. 
* 
* @param string $domain The domain name to query. 
* @return string[] 
*/ 
function getLdapServersForDomain($domain) 
{ 
    $hosts = dns_get_record('_ldap._tcp.'.$domain, DNS_SRV); 

    return is_array($hosts) ? array_column($hosts, 'target') : []; 
} 

哪里$domain是FQDN,如mydomain.com

这将获得LDAP服务器名称。如果你真的需要IP地址,我可以为你添加一些额外的逻辑。这也假定至少PHP 5.5使用array_column

+0

返回空白数组当我'print_r(getLdapServersForDomain(“mydomain.com”));' – urfusion

+0

你有你的作品DNS服务器配置在你的服务器上?这基本上只是为LDAP服务记录进行DNS查找。如果由于某些原因,它们可能会失败,或者您的服务器没有查看您的内部DNS。这是AD/OpenLDAP还是其他? – ChadSikorra

+0

不知道需要检查。 – urfusion