Existem algumas dezenas de versões do netcat disponíveis, mas isso é provável porque:
- Você tem duas entradas para
localhost
em/etc/hosts
. Um para IPv4, outro para IPv6. - O daemon está apenas ouvindo em um protocolo (provável IPv4).
- O cliente conecta-se primeiro através do protocolo que o daemon não está escutando e, em seguida, tenta o que é.
Por exemplo:
$ grep localhost /etc/hosts
127.0.0.1 localhost
::1 localhost
$ nc -4 -l -p 9000 -s 127.0.0.1
nc: listening on 127.0.0.1 9000 ...
$ nc localhost 9000
nc: cannot connect to localhost (::1) 9000 [9000]: Connection refused
nc: localhost (127.0.0.1) 9000 [9000] open
nc: using stream socket