2010-08-25 124 views

回答

4

通過向服務器發出PASV命令來啓用被動模式。如果它在發出該命令時響應錯誤代碼(應爲500 Unknown command),那麼您知道它不受支持。如果它以227 Entering Passive Mode作爲響應,那麼您知道被動是受支持的。

使用命令行telnet和FTP示例命令:

% telnet ftp.mozilla.org 21 
Trying 63.245.208.138... 
Connected to dm-ftp01.mozilla.org. 
Escape character is '^]'. 
220- [greeting omitted] 
USER anonymous 
331 Please specify the password. 
PASS [email protected] 
230- [banner omitted] 
230 Login successful. 

良好命令(被動模式中支持):

PASV 
227 Entering Passive Mode (63,245,208,138,202,53) 

錯誤的命令(500錯誤拋出):

FART 
500 Unknown command. 
+1

在一個成功的'PASV'答覆中,只有響應代碼是標準化的(始終爲227),但包含IP /端口的文本沒有標準化d。它不同於一個FTP服務器供應商。並非所有供應商都說「進入被動模式」,並非所有供應商都將IP /端口包含在括號中,有些供應商將IP /端口置於文本的開頭,而其他供應商則將其放在文本的末尾等。要掃描尋找IP /端口的文本,您不能對其格式做任何假設。這在[RFC 1123第4.1.2.6節](http://tools.ietf.org/html/rfc1123#page-31)中進行了討論。 – 2013-12-31 18:57:31

相關問題