어떤 FTP(수동 또는 활성)가 실행되고 있는지 확인하는 방법은 무엇입니까?
수동 FTP는 기본적으로 Linux에서 실행되지만 확인하는 방법은 무엇입니까?
답변1
아래에서 답을 찾았습니다.
수동 모드에서는 명령을 실행할 수 있지만 활성 모드에서는 명령을 입력하여 수동 모드를 비활성화 ls
해야 합니다. 그러면 명령이 수락됩니다. 그렇지 않으면 550 권한 거부 오류가 발생합니다. 아래를 참조하세요(vsftpd.conf에서 pasv_enable=NO).passive
ls
ftp> passive
Passive mode on.
ftp> ls
550 Permission denied.
Passive mode refused.
ftp> passive
Passive mode off.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-rw-r-- 1 503 503 0 Jan 11 2013 files1
-rw-rw-r-- 1 503 503 0 Jan 11 2013 files10
-rw-rw-r-- 1 503 503 0 Jan 11 2013 files2
-rw-rw-r-- 1 503 503 0 Jan 11 2013 files3
-rw-rw-r-- 1 503 503 0 Jan 11 2013 files4
-rw-rw-r-- 1 503 503 0 Jan 11 2013 files5
-rw-rw-r-- 1 503 503 0 Jan 11 2013 files6
-rw-rw-r-- 1 503 503 0 Jan 11 2013 files7
-rw-rw-r-- 1 503 503 0 Jan 11 2013 files8
-rw-rw-r-- 1 503 503 0 Jan 11 2013 files9
-rw-r--r-- 1 0 0 10240 Jan 11 2013 test.tar
226 Directory send OK.
ftp>
ls
서버에서 요청한 목록은 서버의 포트 20을 통해 클라이언트의 높은 포트 연결로 반환됩니다. 서버의 포트 21은 서버에서 ls 명령의 결과를 다시 보내는 데 사용되지 않습니다.
위의 내용은 "http://www.markus-gattol.name/ws/vsftpd.html"에서 가져온 것입니다.
답변2
FTP 클라이언트에서 원격 FTP 서버가 Passive 모드를 지원하는지 확인하려면 로그인 후 를 입력하세요 quote PASV
.
다음은 수동 모드를 켜고 끄는 vsftpd 서버에 대한 연결 예입니다.
vsftpd 대pasv_enable=NO
# ftp localhost
Connected to localhost.localdomain.
220 (vsFTPd 2.3.5)
Name (localhost:john): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> quote PASV
550 Permission denied.
ftp>
vsftpd 대pasv_enable=YES
# ftp localhost
Connected to localhost.localdomain.
220 (vsFTPd 2.3.5)
Name (localhost:john): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> quote PASV
227 Entering Passive Mode (127,0,0,1,173,104).
ftp>
ftp 명령은 quote
뒤에 오는 모든 매개변수를 원격 서버로 보냅니다. 해당되는 경우 원격 서버는 이를 명령/요청으로 처리합니다. PASV
서버에 패시브 모드를 사용하도록 요청하는 것입니다.