EPSV აცილებს FTP მისამართის პრობლემას და არა მეორე კავშირს
გაიგეთ პასიური მონაცემთა საბოლოო წერტილი, როცა FTP-ში შესვლა პროქსის გავლით მუშაობს, მაგრამ სია ან გადაცემის მომზადება ვერ ხერხდება.
EPSV კვლავ ხსნის ცალკე FTP მონაცემთა კავშირს. ის ცვლის საბოლოო წერტილის ინფორმაციას და არა კავშირების რაოდენობას.
ტრადიციული PASV პასუხი გვაძლევს მისამართსა და პორტს. ეს მისამართი შეიძლება გამოუსადეგარი იყოს სერვერის ქსელის გარეთ. EPSV გვაძლევს პორტს და იყენებს საკონტროლო კავშირთან დაკავშირებულ სერვერის მისამართს.
პროქსის გავლით შეინარჩუნეთ FTP სერვერის ლოგიკური იდენტობა. შუამავლის მოსმენის მისამართი ავტომატურად არ არის ის სერვერი, რომელსაც ეკუთვნის დაბრუნებული მონაცემთა პორტი.
მონაცემთა კავშირს ასევე სჭირდება განზრახული პროქსის მარშრუტი და ნებართვა შერჩეულ პორტამდე მისასვლელად. FTP-ის საკონტროლო პორტზე CONNECT-ის მიღება არ უშვებს ყოველ მომდევნო მონაცემთა კავშირს.
EPSV-ის გამორთვამდე შეამოწმეთ პასიური პასუხი და გადაცემისთვის მოთხოვნილი სერვერის მისამართი და პორტი. წარმატებული FTP შესვლა ამყარებს საკონტროლო კავშირს; მონაცემთა კავშირს შესამოწმებლად ტოვებს. Python ftplib-ით თვალი ადევნეთ ორივე სოკეტის კონსტრუქტორს და ნუ დაეყრდნობით მხოლოდ PySocks-ის ნაგულისხმევს.