2013-08-28 30 views
2

SMTP規範中NOOP的用途是什麼?什麼是SMTP'NOOP'命令用於?

它說:

This command does not affect any parameters or previously entered 
    commands. It specifies no action other than that the receiver send a 
    "250 OK" reply. 

    This command has no effect on the reverse-path buffer, the forward- 
    path buffer, or the mail data buffer, and it may be issued at any 
    time. If a parameter string is specified, servers SHOULD ignore it. 

    Syntax: 

     noop = "NOOP" [ SP String ] CRLF 

回答

2

快速谷歌檢查,原來這件事(source):

最簡單的這些命令是NOOP,有用的大多是在測試,以避免超時。它什麼也不做,並只能產生一個成功的響應,在狀態沒有改變...

3

在IIS 5.0,7.5和其他可能的版本,發送太多NOOPs將會給你帶來麻煩,因爲我最近發現。 IIS將返回:「421此連接上的錯誤太多---關閉」並關閉您的連接。

這裏是一個reference的人誰遇到過同樣的問題...

這是一個神祕的參考這個在微軟的支持站點here

NOOP CRLF

SMTP接收應該發送一個250答覆無操作命令。 唯一的其他可能的響應是500回覆,表示 不正確的命令語法,或421回覆,表示SMTP服務將很快關閉。

+0

有趣。我認爲大多數SMTP服務器(不僅僅是Microsoft)都是這種情況,作爲針對某人希望通過NOOP保持連接數日甚至數天的DoS的安全措施。 – conradkdotcom

+0

我不認爲它是由於安全問題。其他服務器不會出現此問題。 RFC不指定如何處理DOS,只是消息協議。安全性將通過其他參數處理,如連接超時,發送限制等。解決方法是使用RSET命令而不是NOOP。 – hs76

+0

連接超時是什麼意思?無論當前事務的狀態如何,服務器在'x'秒後關閉連接?這可能是有道理的。爲避免在某些事情中關閉連接,必須要有相對高的價值,不是嗎? – conradkdotcom