ldapsearch的Python代码

2024-09-28 22:30:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我有个剧本:

ldapsearch -xLL -h 10.4.113.46 -D 'E900000@corp.privatedev' -W -b 'dc=corp,dc=privatedev' '(cn=lc_proxy_pentest)'

它运行良好。在

我用python编程进行同样的查询:

^{pr2}$

错误显示:

Traceback (most recent call last):   File "<input>", line 1, in <module>   
File "C:\Users\E900000\Python\lib\site-packages\ldap3\core\connection.py", line 278, in __init__
    self.bind(read_server_info=True)   
File "C:\Users\E900000\Python\lib\site-packages\ldap3\core\connection.py", line 427, in bind
    response = self.post_send_single_response(self.send('bindRequest', request, controls))   
File "C:\Users\E900000\Python\lib\site-packages\ldap3\strategy\sync.py", line 122, in post_send_single_response
    responses, result = self.get_response(message_id)   
File "C:\Users\E900000\Python\lib\site-packages\ldap3\strategy\base.py", line 298, in get_response
    responses = self._get_response(message_id)   
File "C:\Users\E900000\Python\lib\site-packages\ldap3\strategy\sync.py", line 168, in _get_response
    dict_response = self.decode_response(ldap_resp)  
File "C:\Users\E900000\Python\lib\site-packages\ldap3\strategy\base.py", line 403, in decode_response
    result = bind_response_to_dict(component)   
File "C:\Users\E900000\Python\lib\site-packages\ldap3\operation\bind.py", line 119, in bind_response_to_dict
    'saslCreds': bytes(response['serverSaslCreds']) if response['serverSaslCreds'] is not None else None}   
File "C:\Users\E900000\Python\lib\site-packages\pyasn1\type\univ.py", line 984, in __bytes__
    return bytes(self._value) TypeError: cannot convert 'NoValue' object to bytes

如果我编程

server = Server('10.4.113.46')
conn = Connection(server)
conn.bind()

第三行带来了同样的错误。在

怎么了?在


Tags: inpyselfgetbindresponselibpackages
2条回答

连接失败的原因可以参考https://github.com/etingof/pyasn1/issues/52。在

但是在修改库并启用成功的连接之后,ldapsearch仍然不起作用。在

我对此表示怀疑邮箱:900000@corp.privatedev对应于uid=E900000@corp.privatedev,cn=lc_proxy_pentest,dc=corp,dc=privatedev

我假设您正在使用Active Directory(基于邮箱:900000@corp.privatedev). 在

尝试使用dsquery来Determine the FDN for the user。在

相关问题 更多 >