3
特別針對Twisted,我希望能夠確定我所連接的服務器是否支持主動或被動模式。請參閱API。FTP檢測是否啓用了主動或被動模式
如果有人可以在FTP協議中解釋或給出示例,您可以確定服務器是否支持主動或被動模式。
特別針對Twisted,我希望能夠確定我所連接的服務器是否支持主動或被動模式。請參閱API。FTP檢測是否啓用了主動或被動模式
如果有人可以在FTP協議中解釋或給出示例,您可以確定服務器是否支持主動或被動模式。
通過向服務器發出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.
在一個成功的'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