Learn

284 artigosCategoria: Tudo
Rede

O que são números de porta e sockets

Na comunicação pela Internet, o endereço IP sozinho não define completamente o destino da comunicação.

O endereço IP é informação para encontrar a outra parte na rede. Mas, dentro de um servidor ou dispositivo, várias comunicações podem estar ativas ao mesmo tempo: Web, DNS, email, aplicativo de chat, sincronização em nuvem e outras.

Por isso, mesmo sabendo o endereço IP de destino, ainda não se sabe a qual serviço ou aplicação entregar aquela comunicação.

Essa distinção usa números de porta.

O endereço IP sozinho não distingue aplicações

O endereço IP indica a posição da outra parte na rede.

Por exemplo, ao acessar um servidor Web, a comunicação primeiro segue ao endereço IP desse servidor. Mas, no lado do servidor, podem estar ativos ao mesmo tempo servidor Web, DNS, email, serviço administrativo, servidor de API e outros.

Nesse momento, o endereço IP sozinho não permite decidir qual serviço do servidor deve receber a comunicação.

Por isso, na camada de transporte, como TCP e UDP, usam-se números de porta para distinguir o destino de entrega da comunicação.

Número de porta distingue entradas de comunicação

Número de porta é um número usado em comunicações TCP e UDP.

Costuma-se explicar que "porta é uma entrada de comunicação". Essa é uma compreensão amplamente correta. Mais precisamente, número de porta é um identificador usado pelo OS para distribuir a comunicação ao processo ou serviço adequado.

Por exemplo, mesmo para o mesmo endereço IP, se a porta de destino é 443, normalmente é um servidor Web HTTPS; se é 53, um servidor DNS; se é 25, um serviço relacionado à entrega de email.

UsoNúmero de porta comumPrincipal protocoloDescrição
HTTP80TCPFrequentemente usado em comunicação Web sem criptografia
HTTPS443TCP / UDPHTTPS comum usa TCP; HTTP/3 usa QUIC sobre UDP
DNS53UDP / TCPConsultas comuns usam muito UDP; respostas grandes e usos específicos também usam TCP
SMTP25TCPUsado principalmente para entrega entre servidores de email
SMTP Submission587TCPUsado para envio do cliente de email ao servidor de envio
IMAPS993TCPUsado para receber email por IMAP protegido por TLS

Há números de porta padrão usados com frequência. No entanto, a porta não garante absolutamente o tipo de serviço.

Por exemplo, é comum usar HTTPS na porta 443, mas, conforme a configuração do servidor, outro aplicativo pode usar a porta 443. Também é possível executar um servidor Web em uma porta não padrão.

Ou seja, número de porta é uma pista forte para inferir o objetivo da comunicação, mas não prova completamente o conteúdo.

Por que um servidor pode executar vários serviços

Com números de porta, um único servidor pode executar vários serviços ao mesmo tempo.

Por exemplo, um servidor com o mesmo endereço IP pode fornecer HTTPS, DNS e serviços de entrega de email, cada um escutando em uma porta diferente.

Endereço IP de destinoNúmero de porta de destinoProtocolo de comunicaçãoExemplo de entrega
Mesmo endereço IP do servidor443TCPServidor Web HTTPS
Mesmo endereço IP do servidor53UDP / TCPServidor DNS
Mesmo endereço IP do servidor25TCPServiço de entrega entre servidores de email
Mesmo endereço IP do servidor587TCPServiço Submission para envio de email

Assim, o endereço IP é usado para encontrar o host de destino, e a porta distingue a qual serviço dentro desse host a comunicação deve ser entregue.

Na prática, porém, não se decide apenas por "endereço IP" ou apenas por "porta". Também importa se a comunicação é TCP ou UDP.

Mesmo na porta 53, UDP 53 e TCP 53 são tratados como comunicações diferentes.

Um dispositivo também pode ter vários aplicativos comunicando ao mesmo tempo

Números de porta não são usados apenas no lado do servidor. Eles também são usados em PCs e smartphones dos usuários.

Imagine um PC com navegador aberto, aplicativo de chat em uso, armazenamento em nuvem sincronizando e o OS verificando atualizações. Dentro do dispositivo, várias comunicações ocorrem ao mesmo tempo.

O OS precisa distinguir essas comunicações e entregar os dados retornados à aplicação correta.

Para essa distinção, usa-se a combinação de endereço IP de origem, porta de origem, endereço IP de destino, porta de destino e protocolo de comunicação.

A comunicação é distinguida por cinco informações

Ao entender comunicações TCP e UDP, cinco informações são importantes.

InformaçãoSignificadoExemplo
Endereço IP de origemEndereço IP do lado que envia a comunicaçãoEndereço IP do dispositivo do usuário
Número de porta de origemPorta usada pelo lado que iniciou a comunicaçãoNúmero temporariamente atribuído no dispositivo
Endereço IP de destinoEndereço IP do lado que recebe a comunicaçãoEndereço IP do servidor Web
Número de porta de destinoPorta do serviço que recebe a comunicação443 para HTTPS, por exemplo
Protocolo de comunicaçãoTipo como TCP ou UDPTCP, UDP

Essa combinação de cinco elementos é chamada de 5-tuple ou 5-tupla.

Por exemplo, quando o navegador se conecta a um servidor Web HTTPS, a porta de destino costuma ser 443. Já a porta de origem é atribuída pelo dispositivo do usuário para aquela comunicação.

Graças à porta de origem, mesmo várias comunicações do mesmo dispositivo para o mesmo servidor Web podem ser distinguidas.

Porta de destino e porta de origem têm papéis diferentes

Para entender portas, é importante separar porta de destino e porta de origem.

TipoPapel principalExemplo
Número de porta de destinoIndica o serviço de destino443 para HTTPS, 53 para DNS
Número de porta de origemDistingue a qual comunicação a resposta deve voltarNúmero temporariamente atribuído no dispositivo

Ao acessar um site, o dispositivo do usuário frequentemente envia comunicação à porta de destino 443. Mas, para receber a resposta, o lado do dispositivo também precisa de uma porta de origem.

Do ponto de vista do servidor, o destino da resposta é "o endereço IP do usuário e a porta usada pelo lado do usuário".

Esse mecanismo permite que um único dispositivo trate várias comunicações ao mesmo tempo.

O que é socket

Socket é uma ideia que representa uma entrada e saída para tratar comunicação de rede.

Em programação, socket é o mecanismo que uma aplicação pede ao OS para criar quando quer fazer comunicação de rede. Para entender a estrutura da comunicação, porém, é mais fácil pensar em socket como "um ponto final de comunicação representado pela combinação de endereço IP, número de porta e protocolo".

Por exemplo, no lado do servidor, o servidor Web cria o estado de "escutar na porta TCP 443". Isso significa preparar uma entrada para receber comunicação HTTPS.

No lado do cliente, quando o navegador inicia uma comunicação, o OS atribui uma porta de origem.

PosiçãoComo ver o socketExemplo
Lado do servidorEscuta por um IP, porta e protocolo específicosEscutar HTTPS na porta TCP 443
Lado do clienteAdministra a conexão usando uma porta de origem por comunicaçãoO navegador conecta a partir de uma porta de origem temporária
Comunicação inteiraIdentifica uma comunicação pela combinação de origem e destinoIP de origem, porta de origem, IP de destino, porta de destino, protocolo

Estritamente, a palavra socket muda um pouco conforme o contexto.

Pode indicar o socket em que um servidor espera conexões, ou o ponto final de uma comunicação depois que a conexão foi estabelecida. Além disso, o tratamento difere entre uma comunicação que cria conexão, como TCP, e uma comunicação sem conexão, como UDP.

Mesmo assim, como base, basta entender socket como uma porta de comunicação no OS usada por aplicações para tratar rede.

TCP e UDP mudam a natureza das portas

Portas são usadas tanto em TCP quanto em UDP, mas a natureza da comunicação é diferente.

TCP estabelece uma conexão antes de enviar e receber dados. É usado em muitas comunicações, como HTTPS tradicional, envio de email e SSH.

UDP não pressupõe estabelecimento de conexão como TCP. É usado em consultas DNS, QUIC, comunicações em tempo real e semelhantes.

ItemTCPUDP
Natureza da comunicaçãoComunica depois de estabelecer conexãoNão pressupõe estabelecimento de conexão
Papel da portaUsada para serviço de destino e identificação da conexãoUsada para distinguir o destino de entrega dos dados
ExemplosHTTPS, SSH, SMTP, IMAPSDNS, QUIC, parte de comunicações em tempo real

Mesmo com o mesmo número de porta, TCP e UDP são tratados como comunicações diferentes.

Por exemplo, TCP 443 e UDP 443 usam o mesmo número "443", mas como o protocolo é diferente, OS e equipamentos de rede os tratam separadamente.

Portas ajudam a inferir o objetivo da comunicação

Entender portas facilita ler logs e comportamento de rede.

Por exemplo, se a porta de destino é 443, pode ser comunicação Web como HTTPS ou HTTP/3. Se é 53, pode ser consulta DNS. Se é 587, pode estar relacionada ao envio de email.

No entanto, a porta sozinha não permite julgar completamente o conteúdo.

Em comunicações criptografadas, o conteúdo fica mais difícil de ver. Serviços também podem usar portas fora do padrão. Além disso, portas amplamente permitidas, como 443, podem carregar comunicações que não sejam navegação Web comum.

Por isso, número de porta é material para inferir o objetivo da comunicação, não prova do conteúdo em si.

Números de porta para entender anonimato

, , DNS, HTTPS e outros mecanismos funcionam, na prática, com combinações de endereço IP, porta e protocolo.

Por exemplo, HTTPS usa frequentemente a porta 443. DNS usa frequentemente a porta 53. VPNs usam portas e protocolos diferentes conforme o método. Tor também muda sua aparência conforme o ambiente e o destino.

Ao pensar em anonimato e privacidade, não importa apenas o conteúdo da comunicação, mas também informações visíveis por fora.

Mesmo que o conteúdo esteja criptografado, dependendo do ponto de observação podem aparecer informações como:

Informação que pode ficar visívelSignificadoPonto de atenção
Endereço IP de destinoA qual servidor a comunicação segueCom CDN ou proxy, pode não coincidir com o serviço final
Número de porta de destinoQue tipo de comunicação parece serPorta 443 não significa necessariamente navegação Web comum
Protocolo de comunicaçãoSe é TCP, UDP etc.HTTP/3 usa UDP 443
Volume de comunicaçãoQuanto dado foi enviado e recebidoPode ser observado mesmo com conteúdo criptografado
Timing da comunicaçãoQuando houve comunicaçãoPode virar material para inferir padrões

Portanto, porta não decide o anonimato por si só, mas é uma informação importante para entender a estrutura da comunicação.

Quando se organiza "qual aplicativo comunica com qual IP, por qual protocolo e por qual porta", fica mais fácil entender o comportamento de VPN, Tor, DNS e HTTPS.

Aqui o foco é a estrutura de comunicação

Entender porta e socket muda bastante a forma de ver redes. No entanto, aqui não entraremos profundamente nos temas seguintes.

Tema fora do escopoRazão
Programação de socketsFica próximo de implementação e se afasta da compreensão da estrutura de comunicação
Detalhes de portas temporáriasO intervalo e o comportamento variam por OS e ampliam demais o escopo
Detalhes da tabela NATEntraria no processamento de conversão de roteadores e firewalls
Prática de varredura de portasTornaria o artigo uma técnica de ataque ou diagnóstico, fora do objetivo

O ponto importante aqui é que o endereço IP sozinho não distingue suficientemente a comunicação, e que portas e protocolo administram destino de entrega e caminho de retorno.

Resumo

O endereço IP é informação para encontrar a outra parte da comunicação na rede.

Mas um dispositivo ou servidor pode ter vários serviços e aplicações comunicando ao mesmo tempo. Por isso, o IP sozinho não decide a qual aplicação ou serviço entregar a comunicação.

Números de porta são usados em comunicações TCP e UDP para que o OS distribua a comunicação ao serviço ou aplicativo adequado.

Na Web, usam-se portas como 80 e 443; no DNS, 53; em email, 25, 587 e 993. Ainda assim, a porta sozinha não determina completamente o conteúdo.

A comunicação é identificada pela combinação de IP de origem, porta de origem, IP de destino, porta de destino e protocolo. Entender essa combinação explica como um dispositivo mantém várias comunicações e como um servidor executa vários serviços.

Socket é uma porta de comunicação usada por aplicações para tratar rede. Para entender a estrutura, é útil vê-lo como ponto final formado por IP, porta e protocolo.

Com portas e sockets, fica mais fácil ler para onde a comunicação vai, a qual serviço chega e como é administrada. Isso também é uma base importante para entender HTTPS, DNS, VPN e Tor.

Ferramentas relacionadas

Public IP Check

WhatIsMyIP

Recurso externo relacionado a este artigo. Abra apenas se fizer sentido para sua situação e seu modelo de ameaça.

Por que aparece aqui: Pode ajudar com o tema do artigo, mas fica fora do Anonymity Sense e deve ser avaliado antes do uso.

URL : https://www.whatismyip.com/

Abrir site externo

Artigos relacionados