File Transfer Protocol – FTP

br>::jseblod::article::/jseblod::
::panel_article:: ::/panel_article::
::wysiwyg_introtext::

A transferência de ficheiros está entre as aplicações TCP/IP mais frequentemente utilizadas e é responsável por uma grande parte do tráfego de rede na Internet. Vários protocolos padrão de transferência de ficheiros existiam mesmo antes de a Internet estar disponível para todos e foram estas primeiras versões do software de transferência de ficheiros que ajudaram a criar o padrão actual conhecido como o File Transfer Protocol (FTP). As especificações mais recentes do protocolo estão listadas no RFC 959.

::/wysiwyg_introtext::
::my_readmore:: ::/my_readmore::
::wysiwyg_fulltext::

O Protocolo

FTP utiliza TCP como protocolo de transporte. Isto significa que o FTP herda a robustez do TCP e é muito fiável para a transferência de ficheiros. É provável que, se descarregar ficheiros, já tenha utilizado ftp algumas centenas de vezes sem se aperceber! E se tiver uma enorme colecção warez, então faça isso umas duas mil vezes 🙂

A imagem abaixo mostra onde o FTP está em contraste com o modelo OSI. Como tenho notado noutras secções, é importante compreender o conceito do modelo OSI, porque isso também o ajudará muito a compreender tudo isto:)

ftp-1

Agora, mencionámos que o FTP utiliza o TCP como transporte, mas não dissemos quais as portas que utiliza! Os números 21 e 20 das portas são utilizados para FTP. A porta 21 é utilizada para estabelecer a ligação entre os 2 computadores (ou anfitriões) e a porta 20 para transferir dados (através do canal Data).

Mas há alguns casos em que a porta 21 é utilizada para ambos, estabelecendo uma ligação e transferência de dados e analisá-los-ei em breve.

A melhor coisa que pode fazer para “ver” é pegar num “sniffer” de pacotes que encontrará convenientemente na nossa secção de download e tentar capturar alguns pacotes enquanto estiver a ftp’ing para um site.

>/p>

br>>/p>

br>>

>/p>

br>>/p>

br>>>/p>

Both Portos – 20 e 21 – Active FTP Mode

Incluí uma imagem de ecrã da minha estação de trabalho que mostra claramente as 2 portas utilizadas. No exemplo, tenho ftp’ed em ftp.cdrom.com. Por favor clique aqui para ver a imagem completa

ftp-2small

>/p>

Apenas a Porta 21 – Modo FTP Passivo

Agora, na próxima imagem, eu instalei no meu servidor NetWare aqui em casa e adivinhe o que …. Só foi utilizada a Porta 21 ! Aqui está a imagem do ecrã:

ftp-3small

Por favor clique aqui para ver a imagem completa.

Deixe-me explicar porque é que isto está a acontecer:

FTP tem dois modos de operação separados: Activo e Passivo. Irá utilizar qualquer um deles dependendo se o seu PC está por detrás de uma firewall.

br>>>>

Active Mode FTP

Active mode is usually used when there is not any firewall between you and the FTP server. Nesses casos, tem uma ligação directa à Internet. Quando você (o cliente) tenta estabelecer uma ligação a um servidor FTP, a sua estação de trabalho inclui um segundo número de porta (usando o comando PORT) que é usado quando se pretende trocar dados, este é conhecido como o Canal de Dados.

O servidor FTP inicia então a troca de dados da sua própria porta 20 para qualquer porta que tenha sido designada pela sua estação de trabalho (no ecrã, a minha estação de trabalho utilizou a porta 1086), e como o servidor iniciou a comunicação, não é controlada pelo cliente da estação de trabalho. Isto também pode potencialmente permitir que dados não convidados cheguem ao seu computador a partir de qualquer lugar que se apresente como uma transferência FTP normal. Esta é uma das razões porque o FTP passivo é mais seguro.

br>>

Passive Mode FTP

Usando FTP normal ou passivo, um cliente inicia uma sessão enviando um pedido para comunicar através da porta TCP 21, a porta que é convencionalmente atribuída para esta utilização no servidor FTP. Esta comunicação é conhecida como a ligação do Canal de Controlo.

Neste ponto, é enviado um comando PASV em vez de um comando PORT. Em vez de especificar uma porta para a qual o servidor pode enviar, o comando PASV pede ao servidor para especificar uma porta que deseja utilizar para a ligação do Canal de Dados. O servidor responde no Canal de Controlo com o número da porta que o cliente utiliza então para iniciar uma troca no Canal de Dados. O servidor responderá assim sempre aos pedidos iniciados pelo cliente no Canal de Dados e a firewall pode correlacioná-los.

É simples configurar o programa FTP do cliente para utilizar o FTP Activo ou Passivo. Por exemplo, em Cute FTP, pode configurar o seu programa para utilizar o FTP Passivo indo a FTP–> Settings –> Options e depois seleccionar o separador “Firewall” :

ftp4

Se remover as opções acima, então a sua estação de trabalho estará a utilizar (se possível) o modo FTP Activo, e eu digo “se possível” porque se já estiver por detrás de uma firewall, provavelmente não há maneira de utilizar o FTP Activo, pelo que o programa mudará automaticamente para o modo FTP Passivo.

Então vamos ver o processo de um computador estabelecer uma ligação FTP com um servidor: .

……..ftp-handshake

O acima exposto assume uma ligação directa ao servidor FTP. Por razões de simplicidade, estamos a olhar para a forma como a ligação FTP é criada e não se preocupa se for uma ligação FTP Passiva ou Activa. Uma vez que o FTP está a utilizar TCP como transporte, seria de esperar ver o aperto de mão de 3 vias. Uma vez completada e estabelecida a ligação de dados, o cliente enviará o seu nome de login e depois a sua palavra-passe. Após a sequência de autenticação estar concluída e o utilizador ser autenticado no Servidor, é-lhe permitido o acesso e está pronto para lixiviar o sítio a seco:)

Finalmente, abaixo estão os comandos FTP mais utilizados:

ABOR: abortar comando FTP anterior

LIST e NLST: list file and directories

DELE: apagar um ficheiro

RMD: remover um directório

MKD: criar um directório

PWD: imprimir directório de trabalho actual ( mostrar qual dir. o seu at)

PASS: enviar senha

PORT: solicitar número de porta aberta em endereço IP/ número de porta específico

QUIT: log off do servidor

RETR: recuperar ficheiro

STOR: enviar ou colocar ficheiro

SYST: tipo de sistema de identidade

TYPE: especificar tipo (A para ASCII, I para binário)

USER: enviar username

E que quase completa é a nossa análise sobre o protocolo FTP !

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *