Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
ldapserver — حزمة ldapserver تنفّذ خادم LDAP | Kitploit
أدوات/GitHubGitHub/projectdiscovery/ldapserver
المصادقة والترخيصأدوات التشفير/فك التشفيرأمن الشبكاتالأدوات والمكوناتإدارة الهوية والوصول (IAM)
GitHubprojectdiscovery/ldapserver

ldapserver

حزمة ldapserver تنفّذ خادم LDAP

عرض المستودع
71منذ 2 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

GoDoc Build Status

هذه الحزمة قيد التطوير.

ldapserver هي مكتبة مساعدة لبناء برمجيات خوادم قادرة على التحدث ببروتوكول LDAP. يمكن أن تكون بديلاً لتطبيق LDAP، أو وكيل LDAP مخصصًا، أو حتى نظامًا خلفيًا مختلفًا تمامًا قادرًا على "إخفاء" واجهة برمجته ليبدو كخادم LDAP.

تدعم الحزمة:

  • جميع عمليات LDAP الأساسية (bind, search, add, compare, modify, delete, extended)
  • SSL
  • StartTLS
  • طلب Unbind مدعوم، لكن يتم التعامل معه داخليًا لإغلاق الاتصال.
  • الإيقاف التدريجي
  • توجيه الطلبات الأساسي المستوحى من net/http ServeMux
  • تخصيص المسجّل (واجهة log)

السلوكيات الافتراضية

طلب Abandon

إذا لم تقم بتعيين مسار للتعامل مع طلب AbandonRequest، فستتعامل الحزمة معه نيابةً عنك. (يتم إرسال إشارة إلى message.Done chan)

لا يوجد مسار مطابق

عندما لا يطابق أي مسار الطلب، سيحاول الخادم أولاً استدعاء مسار خاص NotFound، وإذا لم يتم تحديد شيء، فسيعيد رمز خطأ UnwillingToResponse (53)

لا تتردد في المساهمة والتعليق :)

نموذج برمجي

root@kitploit:~
// Listen to 10389 port for LDAP Request
// and route bind request to the handleBind func
package main

import (
	"log"
	"os"
	"os/signal"
	"syscall"

	ldap "github.com/vjeantet/ldapserver"
)

func main() {
	//ldap logger
	ldap.Logger = log.New(os.Stdout, "[server] ", log.LstdFlags)

	//Create a new LDAP Server
	server := ldap.NewServer()

	routes := ldap.NewRouteMux()
	routes.Bind(handleBind)
	server.Handle(routes)

	// listen on 10389
	go server.ListenAndServe("127.0.0.1:10389")

	// When CTRL+C, SIGINT and SIGTERM signal occurs
	// Then stop server gracefully
	ch := make(chan os.Signal)
	signal.Notify(ch, syscall.SIGINT, syscall.SIGTERM)
	<-ch
	close(ch)

	server.Stop()
}

// handleBind return Success if login == mysql
func handleBind(w ldap.ResponseWriter, m *ldap.Message) {
	r := m.GetBindRequest()
	res := ldap.NewBindResponse(ldap.LDAPResultSuccess)

	if string(r.Name()) == "myLogin" {
		w.Write(res)
		return
	}

	log.Printf("Bind failed User=%s, Pass=%s", string(r.Name()), string(r.AuthenticationSimple()))
	res.SetResultCode(ldap.LDAPResultInvalidCredentials)
	res.SetDiagnosticMessage("invalid credentials")
	w.Write(res)
}

مزيد من الأمثلة

انظر إلى مجلد "examples"

تنزيل الأداة