O que é um número de porta? O endereço IP não basta? ── O que significam 80 e 443, e o que é de verdade «abrir uma porta»

Alguma destas cenas soa familiar? Uma partida online não conecta direito e, ao pesquisar, aparece «é preciso abrir uma porta». Na rede da empresa ou da escola, avisam que «todas as portas exceto a 443 estão bloqueadas». Um manual de programação manda «acessar localhost:3000» ── os números você vê o tempo todo, mas se alguém perguntasse «afinal, esse número é o número de quê?», a maioria não saberia responder.

Este artigo explica desde a raiz o que é de verdade um «número de porta». A revelação, em uma linha ── o endereço IP, que é o endereço de um computador, só leva o pacote até o computador de destino (o prédio). Dentro do prédio, vários atendentes trabalham ao mesmo tempo, e o número de porta indica a qual desses guichês o pacote é endereçado. Se algo disso soa familiar, continue a leitura.

  • Já mandaram você «abrir uma porta» para um jogo ou um servidor caseiro, mas você não saberia explicar o que está abrindo
  • Você já assentiu fingindo entender diante de um «a porta 443 está bloqueada»
  • Nunca se perguntou por que são sempre 80 e 443 que aparecem
  • Você digita o «:3000» de localhost:3000 sem saber de fato o que ele significa

Este artigo evita empilhar jargões, para que iniciantes consigam acompanhar. E não para na explicação do funcionamento: também trata das decisões práticas ── se é seguro abrir uma porta e o que fazer quando a 443 está bloqueada.

DúvidaOnde é tratada
O que é, afinal, um número de porta?§1
Por que só vejo 80 e 443?§2
O que isso tem a ver com o firewall?§3
O que se abre ao «abrir uma porta»?§4
Abrir porta não é perigoso?FAQ Q3
O que é o 3000 de localhost:3000?FAQ Q4
💡 Dica

Em nosso artigo sobre HTTPS e em o artigo sobre servidores, prometemos que «número de porta é tema que rende um artigo inteiro». Este é esse artigo.

1. A verdadeira identidade do número de porta ── o «número de guichê» que continua o endereço

1-1. Só o endereço não leva o pacote até o atendente

Quando você pede algo na internet ── por exemplo, ao abrir uma página ── esse pedido vira um pacote que viaja até o computador de destino, guiado por um endereço chamado endereço IP (como esses endereços funcionam → o artigo sobre endereços IP). Mas no prédio da sede central onde o pacote chega (→ o artigo sobre servidores), vários atendentes trabalham ao mesmo tempo: o que devolve páginas web, o que guarda os e-mails, o que responde à administração remota. É a situação que descrevemos no artigo do servidor: «uma mesma máquina pode acumular servidor web e servidor de e-mail».

Ou seja, só o endereço não basta. O pacote chega até o prédio ── mas se não estiver escrito a qual atendente lá dentro ele se destina, acaba sem destinatário.

1-2. Por isso o destino precisa de dois dados: o endereço e o número do guichê

Pense em uma prefeitura. Com o endereço, você chega até o prédio da prefeitura. Mas ao entrar, encontra guichês numerados, um para cada tipo de assunto: certidão de residência no guichê 3, impostos no guichê 5. Em qual fila você entra não depende do endereço, e sim do assunto que você traz.

Os destinos da internet funcionam com a mesma estrutura de dois níveis. O endereço IP leva até o prédio, e o «guichê n.º X» até o atendente ── esse número de guichê é o número de porta. Os números vão de 0 a 65535, e cada computador mantém abertos só os guichês de que o seu trabalho precisa.

O destino tem duas partes: endereço + número do guichê

 Destino do pacote: 203.0.113.7 : 443
                    └─ endereço ┘ └n.º┘

 O endereço (IP) …            chega até o prédio (computador)
 O n.º do guichê (porta) …    chega até o atendente lá dentro

 Dentro do prédio da sede central
 (guichês enfileirados, como em uma prefeitura)
  [guichê  80] atendente web (correio cartão-postal)
  [guichê 443] atendente web (correio caixa secreta)
  [guichê  25] atendente de e-mail
  [guichê  22] atendente de administração remota
💡 Artigos relacionados

Os endereços, prédios e porteiros da internet que apareceram até aqui têm cada um o seu próprio artigo. Se algo não ficar claro, leia-os em paralelo.

2. Os números têm significado ── por que você só vê 80 e 443

2-1. Os guichês mais usados têm números combinados no mundo inteiro

Em uma prefeitura, dá para conferir o painel da entrada: «certidões ── guichê 3». Mas os pacotes da internet são enviados a prédios do mundo inteiro, e conferir o painel de cada prédio levaria tempo demais. Por isso, os números dos guichês mais usados são combinados de antemão, no mundo inteiro: «o correio cartão-postal da web vai ao guichê 80», «o correio caixa secreta da web vai ao 443» ── os mesmos números em qualquer prédio. (Os números reservados por esse acordo se chamam well-known ports.)

A diferença entre o cartão-postal e a caixa secreta ── ou seja, entre HTTP e HTTPS ── é o tema de nosso artigo sobre HTTPS. As recepções que aquele artigo chamava de «guichê 80» e «guichê 443» eram exatamente estes números de porta.

2-2. Os principais números e os atendentes desses guichês

NúmeroO atendente do guichêObservação
80Atendente web (HTTP ── a recepção do cartão-postal)Viaja em um formato que qualquer um pode ler
443Atendente web (HTTPS ── a recepção da caixa secreta)O padrão de fato da web atual
25 / 587Atendente que envia e-mailsO guichê de envio
110 / 993 etc.Atendente que recebe e-mailsO guichê que abre sua caixa de entrada
53Atendente de consultas (DNS)O guichê de consulta da «lista telefônica» de nosso artigo sobre DNS
22Atendente de administração remota (SSH)O guichê usado pelos administradores de servidores

Por trás de gestos cotidianos como «ver um site» ou «enviar um e-mail», cada pacote é endereçado a algum dos guichês desta tabela.

2-3. Normalmente, é o navegador que anota o número por você

«Mas eu nunca digitei 443 em uma URL», você deve pensar. E com razão ── porque normalmente o navegador anota o número automaticamente. Se o endereço começa com https://, o pacote vai endereçado ao guichê 443; com http://, ao guichê 80. Mesmo sem você pensar nisso, o destino leva um número toda vez.

Também há momentos em que um humano escreve o número à mão. O exemplo clássico é o servidor de treino que um desenvolvedor monta dentro do próprio PC. O «:3000» de localhost:3000 é exatamente isso ── um «endereçado ao guichê 3000» escrito à mão (o que é de verdade o localhost rende um artigo inteiro).

Normalmente, o navegador anota o número por você

 O que você digita: https://example.com/
 Destino real:      o prédio de example.com : guichê 443
                                              △
                                ao ver https://, o navegador
                                anota o 443 automaticamente

 Escrito à mão:     localhost:3000
                            └─ «ao guichê 3000», à mão

3. Proteger pelo número ── o porteiro olha para qual guichê o pacote vai

3-1. Um guichê aberto também é uma entrada aberta

Guichês são práticos ── mas cada guichê aberto é mais uma entrada no prédio. Os danos em massa de 2003 contados em o artigo do firewall aconteceram justamente porque pacotes de ataque do mundo inteiro chegaram a «guichês deixados abertos» (o 135 e o 445). Deixar abertos guichês que você não usa é o mesmo que esquecer de trancar uma porta que nunca é usada.

3-2. Por isso o porteiro deixa passar ou bloqueia pelo número de destino

Aqui entra o firewall. O porteiro (firewall) olha o número do guichê a que cada pacote se destina e seleciona: «o que vai para o 443 passa, o resto é bloqueado». Quando na empresa ou na escola dizem «todas as portas exceto a 443 estão bloqueadas», é essa política em ação. Abrir só os guichês necessários e manter os demais fechados ── a forma básica de proteger um prédio.

O porteiro deixa passar ou bloqueia pelo número do guichê

 [pacote para o 443] ──> porteiro ──> passa ──> [guichê 443] web (HTTPS)
 [pacote para o  80] ──> porteiro ──> passa ──> [guichê  80] web (HTTP)
 [pacote para o 135] ──> porteiro ──×  bloqueia  (nada para guichês sem uso)
⚠️ Armadilha comum

«Fechar uma porta» não significa «perder aquela função». O que se fecha é a recepção do lado do prédio. Seu PC continua podendo sair e perguntar no guichê 443 dos outros prédios, então você navega normalmente. Fechar só atrapalha quando existem pacotes que precisam entrar no seu prédio vindos de fora.

4. O que é de verdade «abrir uma porta» ── fazer os pacotes de fora chegarem a um guichê de dentro

4-1. O roteador da sua casa bloqueia quase tudo o que vem de fora

Em uma rede doméstica, seus aparelhos vivem do lado de dentro do roteador. O que o mundo exterior enxerga é só o número da central (o endereço IP global), de modo que até um pacote endereçado nominalmente ao «guichê X do seu PC» acaba parado no roteador (esse mecanismo de central e ramais → o artigo sobre NAT). No dia a dia, isso trabalha a seu favor, como defesa.

4-2. Abrir uma porta é escrever à mão uma linha no livro de registros do roteador

Mas há momentos em que você quer que os pacotes de fora sejam entregues dentro de casa ── as conexões dos adversários de um jogo online, ou as visitas a um servidor caseiro. É para isso que serve a «abertura de porta». Sua verdadeira identidade é uma linha escrita à mão no livro de registros do roteador: «quando chegar um pacote para o guichê X, repasse-o a este aparelho». Não é uma grande obra como furar uma parede ── você só acrescenta uma linha às regras de encaminhamento da recepção (os passos concretos e os tipos de NAT dos jogos → o artigo sobre NAT §4).

4-3. A ordem para suspeitar das portas quando «não conecta»

Quando algo não conecta, não é preciso suspeitar das portas de imediato. Estreite o problema nesta ordem.

  1. 1Confira primeiro o básicoDescarte erro de digitação na URL, conexão instável e falha do outro lado (→ o diagnóstico de o artigo sobre servidores §4).
  2. 2Procure um número na mensagem de erroPalavras como «porta», «443» ou «blocked» tornam bem mais provável uma causa ligada a portas.
  3. 3Descubra de que lado está o problemaNa rede da empresa ou da escola, é configuração do administrador (você não consegue abrir sozinho). Em casa, se conexões de fora forem necessárias, é a vez da abertura de porta.

E não abra portas sem motivo. Como o §3 mostrou, cada guichê aberto vira uma entrada. Abra só os números necessários e feche-os quando terminar ── trate-os como uma prefeitura que fecha os guichês no fim do expediente.

Resumo ── a essência em 4 linhas

  • Número de porta é número de guichê: o endereço (IP) chega até o prédio, o número do guichê até o atendente lá dentro ── o destino tem dois níveis
  • Os números comuns são combinados no mundo inteiro: o cartão-postal da web é o 80, a caixa secreta é o 443 ── e normalmente o navegador os anota por você
  • Guichê aberto vira entrada: por isso o porteiro (firewall) deixa passar ou bloqueia os pacotes pelo número de destino
  • Abrir porta é uma linha em um livro de registros: uma instrução de encaminhamento que repassa os pacotes de fora a um aparelho da casa ── abra só o necessário e feche ao terminar

Com isso, a história do destino de um pacote fica conectada do começo ao fim: o endereço (endereço IP) → a lista telefônica (DNS) → o prédio e sua sede central (servidor) → o número do guichê (este artigo). Para refazer a viagem inteira → o artigo panorâmico.

FAQ

Q1. Qual é a diferença entre número de porta e endereço IP?

A. São níveis diferentes do destino. O endereço IP é o endereço que indica o prédio (o computador); o número de porta indica o guichê (o atendente) dentro do prédio. Em termos de prefeitura: o endereço leva você até o prédio, e o seu assunto decide se a fila é a do guichê 3 ou a do guichê 5 ── só com os dois níveis juntos o pacote chega ao atendente certo.

Q2. Por que o HTTPS usa a porta 443?

A. Porque um acordo mundial a reservou assim, de antemão. Como «o correio caixa secreta da web (HTTPS) vai ao guichê 443» vale em qualquer prédio, o navegador pode mandar os pacotes direto ao guichê certo sem conferir painel nenhum. O número em si não esconde significado profundo ── basta lembrar «443 = o guichê do HTTPS».

Q3. Abrir porta não é perigoso?

A. Se você limitar quais números abre e por quanto tempo, não é preciso ter medo excessivo. Mas, como o §3 mostrou, guichê aberto é entrada vinda de fora. Abra só os números de que o jogo ou o servidor precisa, feche-os quando não forem mais necessários e mantenha os aparelhos da casa atualizados ── essas três regras são o básico. Número cuja finalidade você não consegue explicar não deve ser aberto.

Q4. O que é o 3000 de «localhost:3000»?

A. Um «endereçado ao guichê 3000» escrito à mão. Desenvolvedores montam um servidor de treino dentro do próprio PC para testar o trabalho (→ o artigo sobre servidores §1-3), e como esse servidor de treino espera os pedidos no guichê 3000, acrescenta-se «:3000» ao destino. O que é de verdade o localhost rende um artigo inteiro, previsto para o futuro.

Q5. Como confiro se uma porta está «aberta» ou «fechada»?

A. Comece pela mensagem de erro e pelo administrador. Na rede de uma empresa ou escola, quais números passam depende da configuração do administrador, então perguntar ao administrador ou ao suporte é o caminho mais seguro. Em casa, a página de configuração do roteador tem uma seção de «encaminhamento de portas (port forwarding)» mostrando quais números são repassados a quais aparelhos. Verificar que nenhum guichê foi aberto sem motivo faz parte do trabalho do porteiro (→ o artigo do firewall).

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *