Uma conexão usando IP, mas sem IP possível?

0

Ao escrever no meu shell a instrução que exibe todas as conexões que meu computador tem, percebo que alguns IPs são exibidos assim: 0.0.0.0, *:*, [::], [::1]e mais estranho ainda, em alguns portos nenhuma porta for especificado ou todos simplesmente de zero ... Se há não há porta ou apenas nenhum IP, por que o computador me exibe isso como uma conexão?


fonte
2
Possível duplicata de Qual é a diferença entre 127.0.0.1 e 0.0.0.0?
Kamil Maciorowski
Não exatamente, mas obrigado pelo link, é interessante.

Respostas:

3

Estou supondo que a instrução seja alguma forma de netstatcomando. (No entanto, inclua o comando real. Não somos leitores de mentes.)

  1. As conexões [::1]são normais: é o endereço IPv6 do host local , igual ao 127.0.0.1IPv4. Muitos programas usam essas conexões de loopback internamente, para comunicação entre seus próprios componentes.

  2. Ambos [::]e 0.0.0.0são endereços "coringa" e significa o endereço ainda não é conhecido. Isso significa que a linha não representa realmente uma conexão ativa.

    O Netstat não mostra apenas conexões; ele também mostra soquetes que estão ouvindo - isto é, à espera de receber uma conexão de entrada. Esses soquetes não têm um endereço remoto porque não sabem qual host será conectado no futuro.

    Portanto, o endereço remoto com todos os zeros ("qualquer" ou "nulo" ou "não especificado") é mostrado. (Mas muitos programas do tipo netstat apenas mostram um campo em branco.)

  3. Para soquetes de 'escuta', o endereço local pode ser zero pelo mesmo motivo.

    Um computador pode ter vários endereços IP (na verdade, a maioria tem pelo menos dois: o endereço de loopback e o endereço LAN), e um soquete 'de escuta' pode ser configurado para aguardar as conexões feitas com qualquer um desses endereços ou apenas com um endereço específico. . (Ou seja, vinculado a um endereço local específico.)

    A maioria das tomadas de escuta não está vinculada a nenhum endereço local específico; eles aceitarão todas as conexões. Como o endereço local não é especificado, ele também é exibido como todos os zeros.

gravidade
fonte
Obrigado pela sua resposta, por isso, se eu entendi corretamente, se netstatexibir uma linha com um IP vazio, significa apenas que é um soquete que ainda não está conectado e, portanto, possui a porta zero. 127.0.0.0.1 é igual a [::], tudo bem, mas qual é a diferença entre *:*e [::]:0? O primeiro nem tem um número de porta.
@Tao: A mesma coisa. Às vezes, o endereço vazio é mostrado como *, às vezes como [::]/ 0.0.0.0, dependendo da ferramenta usada (o Windows netstat não é o mesmo que Linux netstat, que não é o mesmo que o FreeBSD netstat ...) Da mesma forma, a porta remota pode mostrar como *ou 0quando é desconhecido.
grawity
Observe que, enquanto o TCP exige que as conexões sejam estabelecidas antes da transferência de dados, o UDP pode ocasionalmente trocar dados por um soquete que está vinculado apenas a uma porta local.
plugwash 19/09/18
@ plugugwash: Então, esses soquetes, sem um endereço obviamente estabelecido por programas internos, que "netstat" me exibiu necessariamente funcionavam no UDP?
Não. Eles ainda poderiam ser soquetes de 'escuta' do TCP. "Pode ser" não é o mesmo que "será necessariamente".
grawity