O que é um cliente de protocolo de transferência de arquivos?
Um cliente de protocolo de transferência de arquivos é um aplicativo de software de computador usado para acessar um servidor de dados usando o protocolo de transferência de arquivos (FTP). Através do uso deste protocolo comum, o cliente pode transferir dados de e para o servidor. O aplicativo cliente fornece os meios para estabelecer uma conexão e, em seguida, emitir os comandos FTP apropriados para o servidor. Ele vem de várias formas, operado através de uma interface de linha de comando (CLI), uma interface gráfica de usuário (GUI) e até mesmo um navegador da web comum.
O FTP faz parte da camada de aplicativo superior do conjunto de protocolos da Internet (IP), com o protocolo de controle de transmissão (TCP) sendo usado para o transporte de comunicações. O cliente do protocolo de transferência de arquivos, então, é responsável por estabelecer a conexão com o servidor, abrindo duas conexões TCP. A primeira é a conexão de controle, onde o cliente envia comandos para o servidor FTP. Os primeiros comandos enviados pela conexão de controle são o comando USER, com o nome do usuário como argumento e, em seguida, o comando PASS seguido da senha. Uma vez estabelecida, a conexão de controle permanece aberta durante toda a sessão.
Aqui, o cliente do protocolo de transferência de arquivos configura os diferentes modos de comunicação que ele terá com o servidor. Normalmente, os dados são representados de duas maneiras, texto ou binário, dependendo dos dados que estão sendo enviados ou recebidos. As transferências por tipo de texto costumam ser usadas para arquivos de texto sem formatação codificados com o método de codificação ASCII (American Standard Code for Information Interchange). O modo binário, também conhecido como modo de imagem, é para a transferência de arquivos em um formato binário que não é de texto, como imagens digitais. Outra, chamada modo local, é outra maneira pela qual o FTP pode transferir dados usando um formato exclusivo ou proprietário.
O segundo canal TCP usado pelo cliente do protocolo de transferência de arquivos é a conexão de dados. Essa conexão é de natureza temporária e é criada apenas quando um cliente solicita uma listagem dos arquivos no servidor ou está transferindo um arquivo para ou do servidor. A conexão de dados é destruída quando nenhuma transferência de dados está ocorrendo. A conexão de dados também é única na forma como é estabelecida, de maneira ativa ou passiva. O cliente precisa informar ao servidor o tipo de conexão de dados a ser usada, dependendo do tipo de conexão disponível no cliente.
Com uma conexão de dados ativa, o cliente do protocolo de transferência de arquivos informa ao servidor qual o número da porta TCP a ser usada na conexão de dados. Quando usado no modo passivo, no entanto, o cliente simplesmente informa ao servidor que é passivo, e o servidor informa ao cliente qual porta TCP usar para a conexão de dados. Na maioria dos casos, o cliente é configurado para uma conexão passiva devido ao uso de firewalls que o protegem contra acesso não autorizado.
Como resultado da falta geral de segurança no FTP, a segurança de um cliente do protocolo de transferência de arquivos é parte integrante de sua operação, para que a atividade do usuário fique a salvo de olhares indiscretos. Várias técnicas de segurança adicionais foram desenvolvidas para uso com o FTP ao longo dos anos, como o cliente nomeando explicitamente um protocolo de segurança a ser usado ou um implícito automaticamente. Outros clientes tentam usar o FTP por meio de um túnel de shell seguro (SSH), que pode ter dificuldades devido à natureza fugaz da conexão de dados.