Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/projectdiscovery/ldapserver
認証と認可暗号化/復号化ツールネットワークセキュリティユーティリティとフレームワークアイデンティティ&アクセス管理 (IAM)
GitHubprojectdiscovery/ldapserver

ldapserver

パッケージldapserverはLDAPサーバーを実装します。

リポジトリを見る
7142年前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

GoDoc Build Status

このパッケージは開発中です。

ldapserver は、LDAPプロトコルを話すサーバーソフトウェアを構築するためのヘルパーライブラリです。これは、LDAPの代替実装、カスタムLDAPプロキシ、あるいはAPIをLDAPサーバーとして「偽装」できるまったく異なるバックエンドにもなり得ます。

このパッケージは以下をサポートしています。

  • すべての基本的なLDAP操作(bind、search、add、compare、modify、delete、extended)
  • SSL
  • StartTLS
  • Unbindリクエストは実装されていますが、接続を閉じるために内部的に処理されます。
  • グレースフルな停止
  • net/http ServeMuxに触発された基本的なリクエストルーティング
  • ロガーのカスタマイズ(logインターフェース)

デフォルトの動作

Abandonリクエスト

AbandonRequestを処理するルートを設定しない場合、パッケージが代わりに処理します(signalはmessage.Doneチャネルに送信されます)。

ルートが見つからない場合

リクエストに一致するルートがない場合、サーバーはまず特別な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"フォルダを参照してください。

ツールをダウンロード