LDAP3 user Daten von AD ziehen

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
VolkerH
User
Beiträge: 20
Registriert: Dienstag 24. September 2013, 07:16
Wohnort: 46499 Hamminkeln

Montag 11. März 2019, 10:22

Hallo zusammen,

seit einigen Stunden versuche ich vergeblich eine LDAP Anfrage gegen einen LDAP Server in unserem Unternehmen abzusetzen, leider läuft es schon ziemlich vorne auf einen Fehler. Habe schon versucht über Google und Co entsprechende Hilfen zu bekommen, aber ich konnte die Infos nicht auf meinen Fall umsetzen. LDAP ist für mich Neuland und in Python bin ich nicht sattelfest.

Mein Test:
from ldap3 import Server, Connection, SIMPLE, SYNC, ALL, SUBTREE

HOST = 'ldap-server'
user_dn = 'login-name'
PASSWORD = 'pw'

s = Server(HOST, port=636, get_info=ALL)
c = Connection(s, authentication=SIMPLE, user=user_dn, password=PASSWORD, check_names=True, lazy=False, client_strategy=SYNC, raise_exceptions=False)
c.open()
c.bind()

Die Fehlermeldung: ldap3.core.exceptions.LDAPSocketReceiveError: error receiving data: [WinError 10054] An existing connection was forcibly closed by the remote host

Meine Pythonversion: Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64 bit (AMD64)] on win32
LDAP Server ist Windows Domain AD.

Was mache ich hier falsch? Gibt es ein einfaches Beispiel für solch eine Abfrage?

Danke und viele Grüße,
Volker
Benutzeravatar
__blackjack__
User
Beiträge: 2537
Registriert: Samstag 2. Juni 2018, 10:21

Montag 11. März 2019, 12:47

@VolkerH: Was sagt das Log auf LDAP-Seite dazu warum der Server die Verbindung geschlossen hat?
“All tribal myths are true, for a given value of 'true'.” – Terry Pratchett, The Last Continent
VolkerH
User
Beiträge: 20
Registriert: Dienstag 24. September 2013, 07:16
Wohnort: 46499 Hamminkeln

Dienstag 12. März 2019, 14:15

Hallo _blackjack_,
ich habe leider kein Zugriff auf den LDAP-Server, somit auch nicht auf das Log-File.
Gibt es vielleicht ein funktionierendes kleines Beispiel, dass ich auf meine Frage umsetzen kann? Im Netz und hier habe ich schon wie wild gesucht, aber ich kann ja auch nicht viel ausprobieren, da mein Script auf ein Fehler läuft. Im Debugger konnte ich sehen, dass mit dem LDAP-Server "gesprochen" wurde, aber das Bind funzt nicht.
Viele Grüße,
Volker
Benutzeravatar
sls
User
Beiträge: 358
Registriert: Mittwoch 13. Mai 2015, 23:52

Donnerstag 14. März 2019, 10:34

@VolkerH: `username` und `password` sind valide? Konntest du das bereits anderweitig testen? Eine Idee wäre, mit einem LDAP-Browser (z.B. von Softerra) zu prüfen, ob die übergebenen Parameter vom AD so akzeptiert werden, um ein Python-Problem auszuschließen. Ansonsten hilft nur das Log vom LDAP-Server weiter, wie __blackjack__ bereits schrieb.
When we say computer, we mean the electronic computer.
Antworten