EPSV nadal otwiera osobne połączenie danych FTP. Zmienia informacje o punkcie końcowym, a nie liczbę połączeń.

Tradycyjna odpowiedź PASV podaje adres i port. Ten adres może być bezużyteczny poza siecią serwera. EPSV podaje port i używa adresu serwera powiązanego z połączeniem sterującym.

Przez proxy zachowaj logiczną tożsamość serwera FTP. Adres nasłuchu pośrednika nie jest automatycznie serwerem, do którego należy zwrócony port danych.

Połączenie danych potrzebuje też zamierzonej trasy proxy i zgody na dotarcie do wybranego portu. Przyjęcie CONNECT na port sterujący FTP nie zezwala na każde kolejne połączenie danych.

Przed wyłączeniem EPSV sprawdź odpowiedź pasywną oraz adres serwera i port żądane dla transferu. Udane logowanie FTP ustanawia połączenie sterujące; połączenie danych pozostaje do sprawdzenia. W Python ftplib śledź oba konstruktory gniazd, zamiast polegać wyłącznie na domyślnym zachowaniu PySocks.

Powiązane artykuły