Назад | Перейти на главную страницу

Уточнение результата netcat

Я пытался отладить проблему на наших серверах, и меня смутил этот ответ от netcat. Может ли кто-нибудь объяснить, почему я получаю эти 2 противоречивых сообщения при проверке, работает ли порт? Не удается подключиться через TCP, а затем удается использовать другой метод (*)?

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 результаты

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

Это происходит потому, что ваш демон прослушивает только IPv4.

IPv6 является протоколом по умолчанию, поэтому, если у данного имени хоста есть адреса IPv4 и IPv6, сначала всегда проверяется адрес IPv6.

В твоем случае, localhost имеет IPv4-адрес 127.0.0.1 и IPv6-адрес ::1. Но ваш демон только слушает 127.0.0.1.

Так когда nc пытается подключиться к localhost он сначала подключается к ::1, ничего не находит, ничего не слушает и возвращает Connection refused. Затем он пытается подключиться к 127.0.0.1 и находит вашего демона.