Как упоминают многие другие ответы,:: представляет все нули, и тогда netstat может показывать двоеточие после адреса, так что вы получите три двоеточия.
Что то я не видел ни в одной из этих ответов является ответ на вопрос о том, что это действительно означает (в данном случае).
в случае netstat:: (в IPv6) или 0.0.0.0 (в IPv4) в основном означает "любой".
Так, програмное обеспечение слушает на порте 80 TCP (порте HTTP) на любом адреса.
Если у вас есть несколько интерфейсов сетевой карты (что вы и делаете, как я объясню через мгновение), вы можете прослушивать только определенный адрес. Например, с некоторым программным обеспечением можно сделать что-то вроде прослушивания HTTP-сервером сетевой карты, использующей проводной Ethernet, но не отвечающей на сетевую карту, использующую беспроводную сеть. Если вы сделали это, то ваш компьютер может сделать что-то вроде listen on IPv4 192.0.2.100: 80 (или IPv6 2001: db8: abcd:: 1234: 80).
но, так как вы слушаете"::: 80", ваш компьютер не слушает трафик порта 80 только на одном входящем IP-адресе, вы слушаете трафик порта 80 на любой IPv6-адрес.
Почему вы когда-нибудь хотите быть придирчивым о том, какой интерфейс вы слушаете на? Ну, один из способов я использовал эту возможность, иногда, чтобы иметь компьютер слушать интерфейс замыкания на себя. (Помните, когда я сказал, что у вас есть несколько сетей интерфейсы карт... это одна из причин, почему я так сказал. Я предполагаю, что у вас есть реальное физическое сетевое соединение, и что у вас также есть интерфейс обратной связи. Это наиболее типичная настройка для большинства типов компьютеров в наши дни.) Я делаю это с SSH. Затем я могу сделать что-то вроде подключения локального средства просмотра VNC к локальному концу туннеля SSH. Имея туннель SSH слушать на интерфейс обратной связи, мне не нужно беспокоиться, что туннель SSH может слушать трафик, который приходит в один из физических сетевых интерфейсов. Итак, SSH туннель будет видеть только трафик, который идет с моего компьютера.
в некоторых случаях 0.0.0.0 или:: в основном означает "неуказанный" адрес, как указано RFC 4291 раздел 2.5.2 который говорит: "Это указывает на отсутствие адреса."Я иногда видел это, когда программное обеспечение пытается ссылаться на "недопустимый" адрес( например, если компьютер не имеет назначенного адреса, возможно), где нет конкретного адрес для отображения. Однако в этом случае :: или 0.0.0.0 относится к "неизвестному" адресу. Именно поэтому все прослушиваемые порты отображаются как "неизвестные". Для установленного соединения вы знаете, кто удаленный конец, потому что вы связываетесь с ними. Для подключения "прослушивания" вы слушаете совершенно новые разговоры. Это движение может исходить, ну, возможно, из любой точки мира. Входящий трафик может поступать с любого адреса. И, кстати, что nestat показывает, что это укажите адрес всех нулей. Так как нет никакого определенного адреса для использования," неуказанный " адрес кажется вполне подходящим.
Я просто закончу, отметив, что программное обеспечение прослушивает все сетевые интерфейсы-очень распространенная вещь. Некоторые программы могут быть настроены на прослушивание только определенного интернет-адреса или конкретной сетевой карты. И это может быть немного более безопасным, потому что тогда программное обеспечение не слушает, где не ожидается никакого допустимого трафика. Это может ограничить способность к атаке. Тем не менее, у многих программ нет такой опции, или такая опция несколько скрыта/скрыта. Так, прослушивает все сетевые карты это не супер страшное. Это довольно распространенное явление. И, если вы хотите, чтобы программное обеспечение не получало трафик на определенный сетевой порт, есть другие способы сделать это, включая блокировку нежелательного трафика с помощью брандмауэра. В этом случае брандмауэр может блокировать трафик, но (веб -) сервер может продолжать прослушивать трафик на сетевом интерфейсе. В этом случае сервер никогда не получит трафик на этом интерфейсе, но netstat все равно сообщит, что сервер прослушивает (для этого трафика, который никогда не достигнет этого сервера). Увидев отчет команды netstat, что программное обеспечение сервера прослушивает все интерфейсы очень часто, и поэтому не стоит особенно волноваться.
наконец, я упомяну, что этот вопрос, и этот ответ, не только в Linux. (Я упоминаю об этом, потому что Я вижу тег "Linux" по этому вопросу.) Показанные параметры командной строки и показанный пример вывода, возможно, пришли из Linux, и разные операционные системы могут отображать вещи немного по-другому. Тем не менее, о теме :: и 0.0.0.0, способ работы netstat в этом отношении идентичен на машине под управлением BSD или Microsoft Windows (и, предположительно, многих других систем).