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?
0
Respostas:
Estou supondo que a instrução seja alguma forma de
netstat
comando. (No entanto, inclua o comando real. Não somos leitores de mentes.)As conexões
[::1]
são normais: é o endereço IPv6 do host local , igual ao127.0.0.1
IPv4. Muitos programas usam essas conexões de loopback internamente, para comunicação entre seus próprios componentes.Ambos
[::]
e0.0.0.0
sã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.)
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.
fonte
netstat
exibir 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.*
, à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*
ou0
quando é desconhecido.