2012-07-18 137 views
10

我想知道是否有可能通過telnet(或其他程序)建立與LDAP服務器的連接,並開始發出請求並接收響應,正如我通常使用HTTP所做的那樣。事實上,這個問題更爲通用,與我對網絡連接和通信協議的誤解有關。讓我告訴你關於此主題的想法:是否可以通過telnet發送LDAP「請求」?

所有應用程序協議都定義了通信協議(即服務器將要了解並在其交付時執行的消息)。如果我知道應用程序協議是如何工作的,我可以建立到服務器的連接(守護程序控制協議服務器端)並開始與服務器通信。例如與HTTP,我可以建立通過telnet到HTTP服務器的連接,並開始與他這個請求,例如說話:

GET /users/pepito HTTP/1.1 
Host: stackoverflow 
Content-Type: text/html 

我期待這個過程與任何應用程序協議的情況發生。這個概念對嗎?

我瞥了一眼LDAP Protocol Specification RFC但我不明白這些消息的格式。我的意思是,我期待閱讀諸如HTTP協議規範之類的東西;但它太過於通用。你能舉一個例子來說明如何進行LDAP搜索嗎?

+1

*你爲什麼*期待這種情況發生在任何應用協議中?它在哪裏說它們全都看起來像HTTP,並且可讀的標題在行中? *他們中的一些人(FTP,SMTP,...)。其中更多的人不會。 – EJP 2012-07-18 22:48:04

+0

因爲我無法想象通過其他方式建立通信。我需要向服務器發送一些東西,這些東西必須是可讀的(可能是編碼,但編碼的'字符串'在第一個實例中是不可讀的?)。其他協議如何管理?你能舉個例子嗎?謝謝你,朋友。 – flyer88 2012-07-18 23:46:53

+0

你不需要一個例子。您需要LDAP協議規範,並且您需要被告知無法通過將其鍵入到Telnet客戶端手動發送它。 – EJP 2012-07-19 12:36:05

回答

20

LDAP RFC指定LDAP消息是ASN1編碼的。這意味着消息是特殊格式的二進制數據,而不是文本。這使得用telnet手工編寫ladap-queries非常困難。

+0

嗯,謝謝,我開始明白...所以當我閱讀RFC時,添加操作是這樣描述的: http://tools.ietf.org/html/rfc4511#section-4.7 你能給我和例子,我怎麼能在ASN1中編碼這個。 – flyer88 2012-07-18 23:50:49

+0

您可以在這裏查看ASN1編碼示例:http://en.wikipedia.org/wiki/Abstract_Syntax_Notation_One – timos 2012-07-19 00:31:51

+0

因此,編碼的ASN1 PDU可能如下所示(十六進制):30 13 02 01 05 16 0e 41 6e 79 62 6f 64 79 20 74 68 65 72 65 3f – timos 2012-07-19 00:38:47

相關問題