significado da coluna de endereço local do Netstat

20

Quando eu faço, netstat -ntlphá uma coluna chamada Local Address:

  • Às vezes, ele apresentava o endereço IP como 0.0.0.0:7180
  • e às vezes 127.0.0.1:9001

Quais são as implicações de ambas as notações?

O endereço IP específico funciona como um filtro para conexões de entrada? Por exemplo, para 127.0.0.1:9001aceitar apenas conexões do host local na porta 9001?

user1678312
fonte

Respostas:

13

Eu acho que você respondeu sua própria pergunta.

Como exemplo, apachetem a Listenopção que informa em qual endereço e porta escutar. Dependendo de como isso estiver definido, apacheele ouvirá qualquer endereço IP, um endereço específico: -

Listen *:80
Listen 0.0.0.0:80
Listen 127.0.0.1:80
Listen 192.168.0.5:80

As opções acima aparecem como: -

:::80
0.0.0.0:80
127.0.0.1:80
192.168.0.5:80

e traduza para: -

  • Ouça em qualquer endereço IP (IPv4 ou IPv6)
  • Ouça em qualquer endereço IPv4 nesse servidor
  • Ouça apenas no host local IPv4
  • Ouça no endereço IPv4 externo 192.68.0.5

Você pode configurar seu serviço para escutar apenas na localhostinterface se não quiser que ninguém externo o acesse. Por exemplo, se você estiver executando um servidor LAMP, apacheouviria todos os endereços IP (para que seus usuários possam acessá-lo) enquanto um mysqlbanco de dados pudesse ser configurado para ser acessível apenas a partir de localhost(usando sua bind=127.0.0.1diretiva). Dessa forma, a phpexecução no mesmo servidor poderá acessar o banco de dados, enquanto usuários externos (e não confiáveis) não poderão acessá-lo.

garethTheRed
fonte
:::80nem sempre implica também IPv4 unix.stackexchange.com/a/496150/333382
rfc2460 25/01
11

127.0.0.1 e 0.0.0.0

127.0.0.1significa interface local ou endereço de loopback. Acessível apenas a partir do seu host local.

0.0.0.0 é um endereço curinga para todas as interfaces.

Ativado netstat -ntlp Local Addresssignifica "Imprimir conexões tcp de escuta ativa, mostrar IPs como valores numéricos e mostrar o PID e o nome do programa que usa essa conexão".


Diferença por exemplo

Por exemplo, se eu tiver

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name                 
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN      1189/prog1
tcp        0      0 0.0.0.0:6666            0.0.0.0:*               LISTEN      1188/prog2

que significa:

O serviço prog1com PID 1189escuta na porta 53com protocolo tcp. Só é acessível a partir do seu host local.

O serviço prog2com PID 1189escuta na porta 6666com protocolo tcp. O acesso a esta porta é permitido a partir de qualquer outro computador em todas as redes das quais o computador faz parte.

Fontes: 1 2 3

polym
fonte
3

0.0.0.0 significa que o processo está vinculado a todas as interfaces.

127.0.0.1significa que o processo está vinculado apenas à 127.0.0.1interface (loopback).

Se você tivesse outras interfaces, poderá ter x.y.z.aentradas indicando que o processo foi vinculado a essas interfaces específicas.

Um processo será informado apenas se o tráfego chegar nas interfaces às quais está vinculado; portanto, sim, é um tipo de filtro, embora geralmente não seja descrito nesses termos.

EightBitTony
fonte
2

O "endereço local" é o endereço ao qual o soquete em questão está vinculado. Este é o endereço no qual ele recebe as conexões. Os endereços que você está perguntando são "endereços especiais". De acordo com a página de manual do protocolo Linux IPv4 :

Existem vários endereços especiais: INADDR_LOOPBACK( 127.0.0.1) sempre se refere ao host local através do dispositivo de loopback; INADDR_ANY ( 0.0.0.0) significa qualquer endereço para ligação; INADDR_BROADCAST ( 255.255.255.255) significa qualquer host e tem o mesmo efeito na ligação que INADDR_ANYpor razões históricas.

O que isso significa para o endereço 0.0.0.0é que o soquete pode receber conexões para qualquer endereço no sistema, em qualquer interface.

Dan Getz
fonte
1

Como você disse, o IP do host local aceita apenas conexões com essas portas localmente, enquanto o IP 0.0.0.0 se refere às portas abertas a todos.

Por exemplo

Local

127.0.0.1:8307 VMWARE
127.0.0.1:25   MASTER

Para todos

0.0.0.0:80    HTTP
0.0.0.0:443   SKYPE
tachomi
fonte