如何知道 Active Directory 仅存在 ip 地址?

How to know that Active Directory exists with only ip address?

如何知道AD存在?

我只有IP地址。我尝试使用这些方法:

if(DirectoryEntry.Exists("LDAP://192.168.1.1"))

还有

DirectoryEntry directoryEntry = new DirectoryEntry("LDAP://192.168.1.1")

但没有用。 我现在使用 LdapConnection,但我遇到了问题

LdapConnection connection = new LdapConnection(new LdapDirectoryIdentifier("192.168.1.1"));
                        connection.AuthType = AuthType.Basic;
                        NetworkCredential credential =
        new NetworkCredential("a", '1");

                        connection.Credential = credential;

                        connection.Timeout = new TimeSpan(1000);
                        connection.Bind();

我收到 81 代码,LDAP 不可用。

有人知道可以只知道 ip 是否正确并且 AD 存在吗?

P.S。我使用 .NET 2

AD 只能在端口 389 and/or 636 上设置为 运行。因此,如果端口打开,则很有可能存在 LDAP。

要知道它是否是 AD,通常需要您有一个有效的 LDAP 帐户才能绑定到 LDAP 服务。

您可以对 LDAP 服务和 probably learn the VendorName.

执行 LDAP 查询

您可以试试这个(适用于 .NET 2.0,不需要凭据):

...
using System.DirectoryServices.Protocols;
...

string server = "192.168.1.1";

using (LdapConnection ldapConnection = new LdapConnection(server))
{
    ldapConnection.AuthType = AuthType.Anonymous;

    SearchRequest request = new SearchRequest(null, "(objectclass=*)",
          SearchScope.Base, "defaultNamingContext");

    SearchResponse result = (SearchResponse)ldapConnection.SendRequest(request);

    if (result.Entries.Count == 1)
    {
        Console.WriteLine(result.Entries[0].Attributes["defaultNamingContext"][0]);
    }
}

它匿名绑定到 AD 域控制器并检索 rootDSE 条目。它显示 AD 域的 DN。

您还可以查询其他属性,参见https://msdn.microsoft.com/en-us/library/ms684291(v=vs.85).aspx