歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> 500 Illegal PORT command的問題(FTP主被動模式)

500 Illegal PORT command的問題(FTP主被動模式)

日期:2017/3/1 11:58:47   编辑:關於Linux

在windows的dos窗口用FTP命令去連時,可以登錄,但使用ls等命令時,出現:
500 Illegal PORT command.
425 Use PORT or PASV first.
根據提示是被動模式的問題。
FTP主/被動模式的原理
-----------------------------------------------------------------------------------------------
FTP是File Transfer Protocol(文件傳輸協議)的縮寫,用來在兩台計算機之間互相傳送文件。相比於HTTP,FTP協議要復雜得多。復雜的原因,是因為FTP協議要用到兩個TCP連接,一個是命令鏈路,用來在FTP客戶端與服務器之間傳遞命令;另一個是數據鏈路,用來上傳或下載數據。
FTP協議有兩種工作方式:PORT方式和PASV方式,中文意思為主動式和被動式。
PORT(主動)方式的連接過程是:客戶端向服務器的FTP端口(默認是21)發送連接請求,服務器接受連接,建立一條命令鏈路。當需要傳送數據時,客戶端在命令鏈路上用PORT命令告訴服務器:“我打開了XXXX端口,你過來連接我”。於是服務器從20端口向客戶端的XXXX端口發送連接請求,建立一條數據鏈路來傳送數據。
PASV(被動)方式的連接過程是:客戶端向服務器的FTP端口(默認是21)發送連接請求,服務器接受連接,建立一條命令鏈路。當需要傳送數據時,服務器在命令鏈路上用PASV命令告訴客戶端:“我打開了XXXX端口,你過來連接我”。於是客戶端向服務器的XXXX端口發送連接請求,建立一條數據鏈路來傳送數據。
概括:
--------------------------------------------------------------------------------
主動模式:服務器向客戶端敲門,然後客戶端開門
被動模式:客戶端向服務器敲門,然後服務器開門
所以,如果你是如果通過代理上網的話,就不能用主動模式,因為服務器敲的是上網代理服務器的門,而不是敲客戶端的門
而且有時候,客戶端也不是輕易就開門的,因為有防火牆阻擋,除非客戶端開放大於1024的高端端口
--------------------------------------------------------------------------------
要用主動模式來下載,請您把下載工具的被動模式(PASV)都不要打勾,用主動模式來下載就OK了,如果在出錯,那就被動主動相互轉換一下

---------------------------------------------------------------------------------

如何設置vsftpd的主動與被動模式:

Vsftpd的配置文件/etc/vsftpd/vsftpd.conf?
主動模式設置
Port_enable=YES開啟主動模式(default:YES)
Connect_from_port_20=YES當主動模式開啟的時候?是否啟用默認的20端口監聽
Ftp_date_port=%portnumber%上一選項使用NO參數是?指定數據傳輸端口?
被動模式
PASV_enable=YES開啟被動模式
PASV_min_port=%number%被動模式最低端口
PASV_max_port=%number%被動模式最高端口

----------------------------------------------------------------------------------

大部分FTP客戶端默認使用PASV方式,PASV模式的意式是被動模式。在大部分FTP客戶端的設置裡,常見到的字眼都是“PASV”或“被動模式”。
IE: 工具 -> Internet選項 -> 高級 -> “使用被動FTP”(需要IE6.0以上才支持)。
CuteFTP: Edit -> Setting -> Connection -> Firewall -> “PASV Mode”
或 File -> Site Manager,在左邊選中站點 -> Edit -> “Use PASV mode”
FlashGet: 工具 -> 選項 -> 代理服務器 -> 直接連接 -> 編輯 -> “PASV模式”
FlashFXP: 選項 -> 參數選擇 -> 代理/防火牆/標識 -> “使用被動模式”
或 站點管理 -> 對應站點 -> 選項 -> “使用被動模式”
或 快速連接 -> 切換 -> “使用被動模式”
LeapFTP: Option ->Preferences -> General->Proxy->Use Pasv Mode

Copyright © Linux教程網 All Rights Reserved