Klient protokołu przesyłania plików to aplikacja komputerowa służąca do uzyskiwania dostępu do serwera danych za pomocą protokołu przesyłania plików (FTP). Dzięki zastosowaniu tego wspólnego protokołu klient może przesyłać dane do iz serwera. Aplikacja kliencka zapewnia środki do nawiązania połączenia, a następnie wysłania do serwera odpowiednich poleceń FTP. Występuje w wielu formach, obsługiwanych za pomocą interfejsu wiersza poleceń (CLI), graficznego interfejsu użytkownika (GUI), a nawet zwykłej przeglądarki internetowej.
FTP jest częścią górnej warstwy aplikacji pakietu protokołów internetowych (IP), w której do przesyłania komunikacji używany jest protokół kontroli transmisji (TCP). Klient protokołu przesyłania plików jest zatem odpowiedzialny za nawiązanie połączenia z serwerem, ostatecznie otwierając dwa połączenia TCP. Pierwszym z nich jest połączenie kontrolne, w którym klient wysyła polecenia do serwera FTP. Pierwsze polecenia wysyłane przez połączenie sterujące to polecenie USER z nazwą użytkownika jako argumentem, a następnie polecenie PASS i hasło. Po nawiązaniu połączenia kontrolnego pozostaje otwarte przez całą sesję.
Tutaj klient protokołu przesyłania plików ustawia różne tryby komunikacji, które będzie miał z serwerem. Zazwyczaj dane są reprezentowane na dwa sposoby, tekstowe lub binarne, w zależności od wysyłanych lub odbieranych danych. Transfery tekstowe są najczęściej używane w przypadku zwykłych plików tekstowych zakodowanych za pomocą metody kodowania American Standard Code for Information Interchange (ASCII). Tryb binarny, zwany również trybem obrazu, służy do przesyłania plików w nietekstowym formacie binarnym, takim jak obrazy cyfrowe. Inny, zwany trybem lokalnym, to kolejny sposób, w jaki FTP może przesyłać dane przy użyciu unikalnego lub zastrzeżonego formatu.
Drugim kanałem TCP używanym przez klienta protokołu przesyłania plików jest połączenie danych. To połączenie ma charakter tymczasowy i jest tworzone tylko wtedy, gdy klient prosi o listę plików na serwerze lub przesyła plik do lub z serwera. Połączenie danych jest następnie niszczone, gdy nie odbywa się transfer danych. Połączenie danych jest również wyjątkowe pod względem sposobu, w jaki jest ustanawiane, aktywnie i pasywnie. Klient musi poinformować serwer o typie połączenia danych, którego ma użyć, w zależności od tego, jaki typ połączenia jest dostępny na kliencie.
Przy aktywnym połączeniu danych klient protokołu przesyłania plików informuje serwer, którego numeru portu TCP należy użyć do połączenia danych. Jednak gdy jest używany w trybie pasywnym, klient po prostu informuje serwer, że jest pasywny, a serwer następnie informuje klienta, którego portu TCP użyć do połączenia danych. W większości przypadków klient jest skonfigurowany do połączenia pasywnego ze względu na użycie zapór, które chronią go przed nieautoryzowanym dostępem.
W wyniku ogólnego braku bezpieczeństwa w FTP, bezpieczeństwo klienta protokołu przesyłania plików jest integralną częścią jego działania, dzięki czemu aktywność użytkownika jest bezpieczna przed wścibskimi spojrzeniami. Na przestrzeni lat opracowano wiele dodatkowych technik bezpieczeństwa do użytku z FTP, takich jak klient albo jawnie określa protokół bezpieczeństwa, który ma być używany, albo taki, który jest automatycznie implikowany. Inni klienci próbują korzystać z FTP za pośrednictwem tunelu SSH, co może powodować trudności ze względu na ulotny charakter połączenia danych.