Wie in vielen anderen Antworten erwähnt, steht :: für alle Nullen, und netstat zeigt möglicherweise nach einer Adresse einen Doppelpunkt an, sodass Sie drei Doppelpunkte erhalten.
Was ich in keiner dieser Antworten gesehen habe, ist eine Antwort auf die Frage, was das wirklich bedeutet (in diesem Fall).
Im Falle von netstat bedeutet :: (in IPv6) oder 0.0.0.0 (in IPv4) grundsätzlich "any".
Daher überwacht die Software den TCP-Port 80 (den HTTP-Port) auf einer der Adressen.
Wenn Sie über mehrere Netzwerkkartenschnittstellen verfügen (wie ich gleich erläutere), können Sie möglicherweise nur eine bestimmte Adresse abhören. Bei einigen Softwareprogrammen können Sie Ihren HTTP-Server beispielsweise dazu bringen, eine Netzwerkkarte abzuhören, die kabelgebundenes Ethernet verwendet, aber nicht auf eine Netzwerkkarte mit kabellosem Netzwerk reagiert. Wenn Sie dies getan haben, kann Ihr Computer beispielsweise IPv4 192.0.2.100:80 (oder IPv6 2001: db8: abcd :: 1234: 80) überwachen.
Da Sie jedoch "::: 80" hören, wartet Ihr Computer nicht nur mit einer eingehenden IP-Adresse auf Port 80-Datenverkehr, sondern mit einer beliebigen IPv6-Adresse auf Port 80-Datenverkehr .
Warum sollten Sie jemals wählerisch sein, welches Interface Sie hören? Nun, eine Möglichkeit, wie ich diese Funktion manchmal genutzt habe, besteht darin, einen Computer die Loopback-Schnittstelle abhören zu lassen. (Denken Sie daran, als ich sagte, dass Sie mehrere Netzwerkkartenschnittstellen haben ... dies ist ein Grund, warum ich das gesagt habe. Ich vermute, Sie haben eine echte physische Netzwerkverbindung und Sie haben auch eine Loopback-Schnittstelle. Dies ist das typischste Setup für Die meisten Computertypen heutzutage.) Ich mache das mit SSH-Tunneling. Dann kann ich so etwas wie einen lokalen VNC-Viewer mit dem lokalen Ende eines SSH-Tunnels verbinden. Da der SSH-Tunnel die Loopback-Schnittstelle überwacht, muss ich mir keine Sorgen machen, dass der SSH-Tunnel möglicherweise den Datenverkehr überwacht, der von einer der physischen Netzwerkschnittstellen eingeht. So,
In einigen Fällen bedeutet 0.0.0.0 oder :: im Grunde genommen die "nicht angegebene" Adresse, wie in RFC 4291, Abschnitt 2.5.2 angegebendie sagt "Es zeigt das Fehlen einer Adresse." Ich habe dies manchmal gesehen, wenn Software versucht, auf eine "ungültige" Adresse zu verweisen (z. B. wenn einem Computer möglicherweise keine Adresse zugewiesen ist), an der keine bestimmte Adresse angezeigt werden kann. In diesem Fall bezieht sich :: oder 0.0.0.0 jedoch auf eine "unbekannte" Adresse. Aus diesem Grund werden alle LISTENING-Ports als "unbekannt" angezeigt. Bei einer bestehenden Verbindung wissen Sie, wer die Gegenstelle ist, weil Sie mit ihnen kommunizieren. Bei einer "LISTENING" -Verbindung warten Sie auf brandneue Gespräche. Dieser Verkehr könnte von irgendwo auf der Welt kommen. Der eingehende Verkehr kann von jeder Adresse kommen. Und die Art und Weise, wie nestat anzeigt, besteht darin, eine Adresse mit allen Nullen anzugeben. Da keine bestimmte Adresse zu verwenden ist,
Abschließend möchte ich darauf hinweisen, dass es sehr häufig vorkommt, dass Software alle Netzwerkschnittstellen überwacht. Manche Software kann so konfiguriert werden, dass nur eine bestimmte Internetadresse oder möglicherweise eine bestimmte Netzwerkkarte abgehört wird. Und das kann ein bisschen sicherer sein, weil die Software dann nicht lauscht, wenn kein gültiger Datenverkehr erwartet wird. Das könnte die Angriffsfähigkeit einschränken. Eine Menge Software hat jedoch keine solche Option, oder eine solche Option ist etwas versteckt. Das Abhören aller Netzwerkkarten ist also keine schreckliche Sache. Es ist ziemlich verbreitet. Wenn Sie verhindern möchten, dass Software Datenverkehr über einen bestimmten Netzwerkport empfängt, gibt es andere Möglichkeiten, um dies zu erreichen, z. B. das Blockieren von unerwünschtem Datenverkehr mit einer Firewall. In diesem Fall blockiert die Firewall möglicherweise den Datenverkehr. Möglicherweise wartet der (Web-) Server jedoch weiterhin auf Datenverkehr auf dieser Netzwerkschnittstelle. In diesem Fall erhält der Server niemals Datenverkehr über diese Schnittstelle, aber netstat meldet weiterhin, dass der Server empfangsbereit ist (für den Datenverkehr, der diesen Server niemals erreicht). Es ist sehr verbreitet, den netstat-Bericht zu sehen, dass die Serversoftware alle Schnittstellen überwacht, und es ist daher nicht besonders alarmierend.
Abschließend möchte ich erwähnen, dass diese Frage und diese Antwort nicht Linux-spezifisch sind. (Ich erwähne dies, weil ich das "Linux" -Tag in dieser Frage sehe.) Die angezeigten Befehlszeilenparameter und die gezeigte Beispielausgabe stammen möglicherweise von Linux, und verschiedene Betriebssysteme zeigen möglicherweise etwas andere Dinge an. Bezüglich des Themas :: und 0.0.0.0 ist die Funktionsweise von netstat in dieser Hinsicht jedoch auf einem Computer mit BSD oder Microsoft Windows (und vermutlich vielen anderen Systemen) identisch.