Ir ao conteúdo
  • Cadastre-se
danilo diego de menezes

Portas ftps; duas portas

Posts recomendados

Boa noite! Eu nao mexo com redes, por enquanto. Mas quero tirar uma duvida. É possivel deixar as portas 20 e 21 na mesma rede? É para um trabalho que estou fazendo. Como envolve armazenamento de dados e transferencia de informaçoes para o terminal fiquei na duvida se podia estar essas duas portas

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!

 

Portas não ficam em redes ou envolvem redes por definição. Uma rede TCP/IP tem um endereço, uma máscara, um endereço de ao menos um gateway e uma lista de ao menos um servidor DNS. E em geral tem ao menos um servidor DHCP. Tudo isso envolve endereços IP como o clássico 192.168.0.1. Não portas diretamente.

 

Mas o tráfego via TCP/IP é feito via uma abstração chamada socket, que é um conjunto formado por um endereço IP e uma porta, que é um número entre 1 e 65536. e nesse socket ocorre um tráfego através de um protocolo.

 

Isso não envolve a internet ou sequer a rede local. Envolve dois programas: um que está aceitando conexões em um socket e outro que tenta se conectar a este socket. Quando um programa está aceitando conexões em um socket isso implica em ter uma porta aberta no endereço IP da máquina que roda o programa e na porta em que o programa está aguardando conexão.

 

Talvez daí venha a noção de "abrir portas" que se lê tanto aqui no forum por exemplo, mas que não existe na verdade.

 

Mas um programa pode se conectar a outro na mesma máquina, por exemplo. Para a conexão não existe essa noção de local ou remoto. Todo micro tem por exemplo o endereço 127.0.0.1 para uso, conhecido não por acaso como localhost.

 

Exemplo: você tem um servidor FTP rodando na porta 21 na sua máquina. Na sua máquina você abre um cliente FTP e tenta se conectar ao socket 127.0.0.1:21 e vai receber o prompt do servidor FTP imediatamente. Funciona assim. Agora se você vai acessar isso pela internet e seu micro está atrás de um roteador, que está ligado a internet através de um provedor e tem um endereço IP público qualquer, e que pode mudar a qualquer momento, eis a mecânica do outro lado:

 

Você usa um serviço de registro dinâmico de IP como o no-ip e sempre que seu roteador se conecta a internet seu roteador vai ao site do no-ip e, usando seu código de usuário e senha, atualiza lá o seu endereço IP atual para o nome que você contratou lá, tipo ddm-ftp.ddns.net. Essa é a primeira parte. Assim qualquer computador conectado a internet pode se conectar com seu roteador, em ddm-ftp.ddns.net. Em qualquer porta. Só que seu roteador não tem nenhum serviço rodando, então essas conexões não vão dar em nada e dizem que a porta está fechada, mas não é o caso. Apenas não tem um programa rodando para aceitar conexões.

 

A bem da verdade seu roteador tem algum serviço rodando. Muitos tem um servidor web rodando na porta correspondente, 80 e se você acessa isso vem... a tela de configuração do roteador. E muitos roteadores podem ser configurados para habilitar "administração remota" e isso significa apenas que se alguém a partir de algum lugar da internet tentar se conectar a http://ddm-ftp.dns.net vai receber a tela de login do seu roteador, se ele estiver assim configurado.

 

Seu roteador também tem um servidor DHCP rodando, mas ele não aceita conexões pela porta WAN, de entrada, mas apenas pelas portas LAN. Isso quer dizer que se você escrever um programa na sua rede local que cria um socket e tenta se conectar ao seu roteador, por exemplo em 192.168.0.1, na porta 67 que é a porta do DHCP, vai conseguir algo. Se seguir todo o protocolo pode até receber um endereço de rede e criar uma grande confusão.  :) Mas ao ligar seu micro sua placa de rede faz exatamente isso.

 

Estou escrevendo isso tudo porque nunca vejo essa mecânica descrita em lugar nenhum e pode ser interessante para quem ler isso. Claro, não está exatamente em resposta à sua dúvida e talvez tenha já parado de ler lá em cima mesmo. 

 

Continuando: seu roteador tem um nome registrado em no-ip para o endereço público dele e está acessível a partir da internet pela porta WAN sob tal nome. E o servidor DHCP dele deu um endereço IP ao seu micro que tem o servidor FTP rodando. No entanto o D de DHCP quer dizer dinâmico, e isso quer dizer que ele pode mudar, exatamente como o endereço público de seu roteador na internet. Então você precisa de um equivalente ao no-ip na rede local, e isso em geral se faz usando uma tabela que tem no roteador que reserva endereços para os micros na rede local. Fica nas opções de DHCP, claro, e pode ter vários nomes, como "client address reservation". É bem simples: cada dispositivo de rede tem uma espécie de número de série chamado MAC --- media access control --- e nessa tabela você marca lá o endereço MAC do servidor FTP e fixa um endereço para ele, tipo 192.168.0.10. Segunda parte: agora seu micro na rede vai estar sempre em 192.168.0.10. E os micros na rede local podem acessar o servidor ftp sempre em 192.168.0.10:21.

 

Mas e pela internet? Terceira parte: você precisa ir ao roteador e configurar algo para que ele transfira todo o tráfego que entra direcionado a porta 21 para o micro que está em 192.168.0.10 rodando o servidor FTP. Isso é feito numa tabela, de encaminhamento de portas ou port forwarding ou algum nome similar.

 

Isso fecha o círculo e a coisa anda. Pode ficar mais complicado se você tiver por exemplo vários servidores FTP na rede e quiser acessar de fora, ou se você tiver mais de um servidor DHCP na rede, ou muitos outros casos, mas o geral é isso que descrevi.

 

E como saber as portas? Em geral toda implementação de TCP/IP deve ter um conjunto de arquivos que lista isso. No Windows por exemplo você pode ver esses arquvos na pasta C:\Windows\System32\drivers\etc 

 

Eis as primeiras linhas do arquivo services, que lista as portas comuns:
 

#
# Format:
#
# <service name>  <port number>/<protocol>  [aliases...]   [#<comment>]
#

echo                7/tcp
echo                7/udp
discard             9/tcp    sink null
discard             9/udp    sink null
systat             11/tcp    users                  #Active users
systat             11/udp    users                  #Active users
daytime            13/tcp
daytime            13/udp
qotd               17/tcp    quote                  #Quote of the day
qotd               17/udp    quote                  #Quote of the day
chargen            19/tcp    ttytst source          #Character generator
chargen            19/udp    ttytst source          #Character generator
ftp-data           20/tcp                           #FTP, data
ftp                21/tcp                           #FTP. control
ssh                22/tcp                           #SSH Remote Login Protocol
telnet             23/tcp
smtp               25/tcp    mail                   #Simple Mail Transfer Protocol
time               37/tcp    timserver
time               37/udp    timserver
rlp                39/udp    resource               #Resource Location Protocol
nameserver         42/tcp    name                   #Host Name Server
nameserver         42/udp    name                   #Host Name Server

OK OK Parei. 

 

Boa sorte 

Espero que ajude alguém, ou você ao menos. Escreva com mais detalhes de seu problema

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, eu li ate o final. Se eu ler de novo fica bem mais claro, ler uma vez não fica tão nítido, mas de suma ficou coerente. Faculdade pediu para fazer um trabalho sobre um totem, ja fiz e enviei, mas depois que vi a abrangência do FTP fiquei realmente na duvida e meio com medo de estragar o trabalho. 

Abaixo foi o que fiz.

O pc é o servidor(linux), o cliente é o totem, haveria uma comunicação entre eles através do thin client. Quando li na wiki e outro site achei viável usar FTP para uso de transferência de dados

 

totem.jpg

adicionado 7 minutos depois

Complementando o que esqueci. Criar um servidor precisava do ftp, samba e os componentes necessários para a criação do servidor, alem de configura-lo. Acho que mais me equivoquei e te fiz perder tempo explicando do que sanar minhas duvidas, de quebra eu entendi e deixarei o post para futuras duvidas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: minicurso “Como ganhar dinheiro montando computadores”

Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

Inscreva-se agora!