🏠 Voltar ao Índice
1 / 16

📁 File Transfer Protocol

FTP - Transferência de Arquivos

Aula 07
O protocolo que move arquivos pela Internet
Como compartilhar e transferir dados desde 1971

👨‍🏫 Autor da Apresentação

César Azevedo
📧 cesar.augusto@ifrn.edu.br

📋 Tópicos da Aula

🌟 Fundamentos

O que é FTP e sua importância histórica
Modelo Cliente-Servidor
Duas portas TCP: 20 e 21
Autenticação e acesso anônimo

⚙️ Como Funciona

Conexão de controle vs dados
Comandos básicos do FTP
Códigos de resposta do servidor

💻 Na Prática

Cliente de linha de comando
Clientes gráficos (FileZilla)
Exemplos de transferência

🔄 Comparações

FTP vs HTTP
Vantagens e limitações
Uso moderno do FTP

🎯 Objetivo Final

Compreender como o FTP permite transferir arquivos
de forma confiável e eficiente pela Internet

🧠 + Quiz Interativo

Teste seus conhecimentos com 4 questões práticas!

🤔 O que é FTP?

File Transfer Protocol
Um dos protocolos mais antigos da Internet (desde 1971!)
Especializado em transferir arquivos
Baseado no modelo Cliente-Servidor
Especificado na RFC 959

💡 Analogia simples:

FTP é como um sistema de entrega de encomendas:
• O cliente faz o pedido (solicita arquivo)
• O servidor prepara e entrega (envia arquivo)
• Há confirmação de entrega (códigos de status)
• Funciona nos dois sentidos (upload e download)

📜 História interessante:

Criado antes mesmo da Internet moderna
Originalmente usado em redes ARPANET
Ainda amplamente usado hoje em dia
Base para muitos protocolos modernos

⚙️ Como o FTP Funciona

🔑 Características Principais:

Usa duas portas TCP diferentes
Requer autenticação (login e senha)
Pode permitir acesso anônimo
Transfere dados de forma confiável

🚪 As Duas Portas do FTP:

Porta 21 → Comandos e Controle
(onde enviar comandos como "baixar arquivo X")

Porta 20 → Transferência de Dados
(onde o arquivo realmente trafega)
1. Cliente conecta na porta 21 do servidor
2. Cliente faz login com usuário e senha
3. Cliente envia comandos (listar, baixar, enviar)
4. Servidor abre porta 20 para transferir dados
5. Arquivo é transferido pela porta 20
6. Servidor confirma sucesso pela porta 21

🛠️ Comandos Básicos do FTP

📂 Navegação

cdEntrar em diretório
pwdMostrar diretório atual
dirListar conteúdo

📁 Transferência

getBaixar arquivo
putEnviar arquivo

🗂️ Gerenciamento

deleteApagar arquivo
renameRenomear arquivo

❓ Ajuda e Saída

helpMostrar ajuda
?Mostrar ajuda
quitSair do FTP

💻 Exemplo de Sessão FTP:

ftp 192.168.1.100
Connected to 192.168.1.100
Name: usuario
Password: ******
230 Login successful
ftp> dir
200 Port command successful
150 Here comes the directory listing
arquivo1.txt
pasta_downloads/
226 Directory send OK
ftp> get arquivo1.txt
200 Port command successful
150 Opening BINARY mode data connection
226 Transfer complete
ftp> quit
221 Goodbye

🏷️ Códigos de Resposta do FTP

✅ Códigos de Sucesso (2xx)

200 Comando executado
220 Servidor pronto
226 Transferência concluída
230 Login bem-sucedido

📋 Códigos Informativos (1xx)

110 Marca de resposta
120 Serviço em breve
150 Aguardando transferência

❌ Códigos de Erro (4xx, 5xx)

421 Serviço indisponível
450 Arquivo ocupado
530 Login incorreto
550 Arquivo não encontrado

🔄 Códigos de Redirecionamento (3xx)

331 Senha necessária
332 Conta necessária

🎯 Dica Prática

Similar ao HTTP, o primeiro dígito indica a categoria:
1xx = Informativo | 2xx = Sucesso | 3xx = Mais info necessária | 4xx/5xx = Erro

📝 Exemplo de Comunicação:

Cliente: USER joao
Servidor: 331 Password required for joao
Cliente: PASS minhasenha
Servidor: 230 Login successful
Cliente: LIST
Servidor: 150 Here comes the directory listing
Servidor: 226 Directory send OK

💻 Como Acessar um Servidor FTP

⌨️ Modo Texto (Terminal)

Disponível no Windows e Linux
Comando: ftp ip_do_servidor
Mais controle e precisão
Ideal para scripts e automação
# Windows
C:\> ftp 192.168.1.100

# Linux
$ ftp 192.168.1.100

# Ou via navegador
ftp://usuario:senha@servidor.com

🖱️ Clientes Gráficos

FileZilla - Gratuito e popular
WinSCP - Windows apenas
Cyberduck - Mac e Windows
Interface drag-and-drop

🌟 Vantagens dos Clientes Gráficos:

Interface amigável
Arrastar e soltar arquivos
Visualização em duas colunas
Retomada de transferências
Múltiplas conexões simultâneas

💡 Dica do Professor

Para aprender, comece com linha de comando.
Para o dia a dia, use clientes gráficos como FileZilla!

💻 Exemplo Prático - Download de Arquivo

📤 Comandos do Cliente:

ftp 192.168.1.100
Connected to 192.168.1.100
220 Servidor FTP está pronto para aceitar comandos
Name: aluno
Password: ******
230 Login successful
ftp> pwd
257 "/" is current directory
ftp> dir
150 Opening data connection
arquivo_aula.pdf 1024 KB
exercicios.zip 2048 KB
226 Transfer complete
ftp> get arquivo_aula.pdf
150 Opening BINARY mode data connection
226 Transfer complete (1048576 bytes)
ftp> quit
221 Goodbye

🔍 Análise do Exemplo:

Cliente conecta na porta 21
Autenticação com usuário "aluno"
Lista arquivos disponíveis com "dir"
Baixa arquivo específico com "get"
Transferência pela porta 20
Confirmação de sucesso (226)
Cliente ←→ Servidor (Porta 21: Comandos)
Cliente ←→ Servidor (Porta 20: Arquivo PDF)

⚖️ FTP vs HTTP - Quando Usar Cada Um?

📁 FTP - File Transfer Protocol

✅ Vantagens:

Especializado em transferência de arquivos
Comandos específicos (listar, navegar, etc.)
Autenticação robusta
Controle total sobre transferências
Retomada de downloads interrompidos

❌ Limitações:

Mais complexo que HTTP
Duas portas necessárias
Problemas com firewalls
Sem criptografia nativa

🌐 HTTP - Web Protocol

✅ Vantagens:

Muito simples de usar
Uma porta apenas (80/443)
Atravessa firewalls facilmente
HTTPS tem criptografia
Suporte universal

❌ Limitações:

Não foi feito para arquivos grandes
Sem comandos de navegação
Autenticação mais básica
Sem retomada nativa

🎯 Quando Usar Cada Um?

FTP: Transferir arquivos grandes, backups, sites inteiros
HTTP: Navegação web, APIs, transferências simples

🔒 Segurança e Versões Modernas

⚠️ Problema do FTP Tradicional:

Senhas trafegam em texto puro
Dados não são criptografados
Vulnerável a interceptação

🛡️ Soluções Seguras

FTPS (FTP over SSL)

FTP + criptografia SSL/TLS
Mesmas portas, mas seguro

SFTP (SSH File Transfer)

Protocolo completamente diferente
Baseado em SSH (porta 22)
Criptografia nativa

SCP (Secure Copy)

Cópia segura via SSH
Mais simples que SFTP

🌐 Alternativas Modernas

WebDAV

Extensão do HTTP
Funciona via browser

Cloud Storage

Google Drive, Dropbox, OneDrive
Sincronização automática

Git

Para código-fonte
Controle de versão integrado

💡 Recomendação Atual:

Para arquivos sensíveis, sempre use SFTP ou FTPS.
FTP tradicional apenas em redes internas confiáveis.

🎯 Resumo Final

FTP é o protocolo clássico para transferência de arquivos

✅ Características Principais:

Protocolo especializado e antigo
Modelo cliente-servidor
Duas portas: 21 (comando) e 20 (dados)
Comandos específicos para arquivos
Autenticação com usuário/senha

🎯 Pontos Importantes:

Ideal para transferir arquivos grandes
Mais controle que HTTP
Versão tradicional não é segura
Use SFTP ou FTPS para segurança
Ainda muito usado em servidores web

🌐 FTP na Era Moderna

Mesmo com alternativas modernas, FTP continua sendo uma
ferramenta importante para administradores de sistema!

🧠 Quiz - Teste seus conhecimentos!

📝 Questão 1

Quais portas TCP o FTP utiliza?

A) Porta 80 e 443
B) Porta 20 e 21
C) Porta 22 e 23
D) Porta 25 e 110

📚 Referências Bibliográficas

📖 Fonte Principal:

Material Didático - Protocolo FTP
Prof. César Azevedo - IFRN
Arquitetura de Redes de Computadores

📋 RFCs Principais:

RFC 959 - File Transfer Protocol
RFC 2228 - FTP Security Extensions
RFC 4217 - FTP over TLS

📖 Bibliografia Complementar:

TANENBAUM, A. S. - Redes de Computadores
KUROSE, J. F. - Redes de Computadores e a Internet

🌐 Sites Recomendados:

www.ietf.org (RFCs oficiais)
filezilla-project.org (Cliente FTP)
docs.anthropic.com (Documentação técnica)

🛠️ Ferramentas Práticas:

FileZilla - Cliente FTP gratuito
Wireshark - Análise de protocolos
Cisco Packet Tracer - Simulação

🎯 Objetivo Educacional

Facilitar o aprendizado do FTP através de
linguagem simples, analogias e exemplos práticos