FTP
Co to jest tryb pasywny/aktywny?
W przeciwieństwie do protokołu HTTP i innych protokołów używanych w
Internecie protokół FTP wykorzystuje podczas sesji co najmniej dwa
połączenia: połączenie półdupleksowe pełniące rolę sterującą oraz
połączenie pełnodupleksowe służące do przesyłania danych. Domyślnie do
sterowania połączeniem na serwerze wykorzystywany jest port 21 protokołu
TCP, natomiast połączenie przekazywania danych jest określane przez
metodę, której klient używa do połączenia z serwerem, jak opisano poniżej.
Połączenia FTP w trybie aktywnym są czasami nazywane „zarządzanymi przez
klienta”, ponieważ za pośrednictwem połączenia sterującego klient wysyła
do serwera polecenie port. Jest to skierowane pod adresem serwera żądanie
o ustanowienie połączenia transferu danych między portem TCP 20 na
serwerze a portem TCP klienta określonym za pomocą polecenia port.
Połączenia FTP w trybie pasywnym są czasami nazywane „zarządzanymi przez
serwer”, ponieważ po otrzymaniu od klienta polecenia pasv serwer w
odpowiedzi podaje numer jednego ze swoich przejściowych portów
wykorzystywanych do przesyłania danych. Po wydaniu przez klienta polecenia
połączenia danych, serwer łączy się z klientem poprzez port o numerze o
jeden wyższym od numeru portu klienta używanego do sterowania połączeniem.
Najczęstszym problemem napotykanym przy korzystaniu z protokołu FTP w
Internecie jest transfer danych przez serwer proxy, zaporę lub urządzenie
do translacji adresów sieciowych NAT (Network Address Translation). W
większości przypadków te urządzenia ochrony sieci pozwalają na
ustanowienie połączenia sterującego poprzez port TCP 21 (to znaczy, że
użytkownik może pomyślnie się zalogować na serwerze FTP), ale gdy
użytkownik próbuje dokonać transferu danych za pomocą takich poleceń, jak
DIR, LS, GET lub PUT, klient FTP przestaje odpowiadać, ponieważ urządzenie
ochrony sieci blokuje określony przez klienta port połączenia danych.
Jeśli urządzenie ochrony sieci obsługuje rejestrowanie, można sprawdzić
blokowanie portu, przeglądając zapisy odmowy/odrzucenia na tym urządzeniu.