Esclarecimento do resultado do netcat

2

Estou tentando depurar um problema em nossos servidores e estou confuso com essa resposta do netcat. Alguém pode explicar por que estou recebendo essas 2 mensagens contraditórias ao verificar se uma porta está funcionando? Ele está falhando ao conectar via TCP e então ter sucesso com algum outro método (*)?

ubuntu@1-2-3-4:/var/log$ nc -vz localhost 7777
nc: connect to localhost port 7777 (tcp) failed: Connection refused
Connection to localhost 7777 port [tcp/*] succeeded!

IP4 / 6 resultados

nc -vz4 localhost 7777
Connection to localhost 7777 port [tcp/*] succeeded!
nc -vz6 localhost 7777
nc: connect to localhost port 7777 (tcp) failed: Connection refused
    
por Doug McK 02.07.2015 / 19:06

1 resposta

2

Isso está acontecendo porque seu daemon está apenas ouvindo no IPv4.

IPv6 é o protocolo padrão, portanto, se um determinado nome de host tiver endereços IPv4 e IPv6, o endereço IPv6 sempre será tentado primeiro.

No seu caso, localhost tem o endereço IPv4 127.0.0.1 e o endereço IPv6 ::1 . Mas seu daemon está apenas ouvindo 127.0.0.1 .

Assim, quando nc tenta se conectar a localhost , ele primeiro se conecta a ::1 , descobre que nada está escutando e retorna Connection refused . Em seguida, ele tenta se conectar ao 127.0.0.1 e encontra seu daemon.

    
por 03.07.2015 / 18:32