通过 UDP 查询 LDAP 服务器

通过 UDP 查询 LDAP 服务器

我正在尝试通过 ldaps 查询 LDAP 服务器(Active Directory)。问题是我唯一可用的端口(389 和 636)是 UDP 端口。防火墙规则不允许 TCP(我自己也不明白,所以不要问:))

然而我运气不太好。运行命令

ldapsearch -H ldaps://cmpname.dk:636 -b "ou=CmpName,dc=cmpname,dc=dk" -D "cn=devldap,ou=Service,ou=Misc acconts,ou=CmpName,dc=cmpname,dc=dk" -w "password123" -v

给出消息:

ldap_initialize( ldaps://cmpname.dk:636/??base )

之后它会挂起一段时间然后返回

ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)

我可以假设这是因为 ldapsearch 仅尝试通过 tcp 进行联系吗?我可以让 ldapsearch 以某种方式联系 UDP 端口吗?

或者这个错误完全是别的什么?

基本上:帮助:)

答案1

AD 仅以非常有限的方式支持基于 UDP 的 LDAP。除了能够查询可用的身份验证方法之外,没有太多其他功能。

通过 UDP 进行 LDAP 搜索

Active Directory 仅支持通过 UDP 搜索 根DSE。它以与通过 TCP 执行的搜索相同的方式对通过 UDP 执行的 LDAP 搜索的结果进行编码;具体来说,如 [RFC2251] 中所述,将其编码为一个或多个 SearchResultEntry 消息,后跟 SearchResultDone 消息。这意味着搜索响应的编码方式与 [RFC1798] 中所述不同。Active Directory 仅支持通过 UDP 执行 LDAP 搜索和 LDAP 放弃操作。

-

根 DSE (rootDSE):包含轻量级目录访问协议 (LDAP) 服务器配置状态的无名条目。通常,未经身份验证的客户端可以访问根 DSE 的至少一部分,从而允许它们确定服务器支持的身份验证方法。

相关内容