Come molte altre risposte menzionano, :: rappresenta tutti gli zeri e quindi netstat può mostrare i due punti dopo un indirizzo, quindi ottieni tre punti.
Ciò che non ho visto in nessuna di queste risposte è una risposta alla domanda su cosa significhi davvero (in questo caso).
Nel caso di netstat, :: (in IPv6) o 0.0.0.0 (in IPv4) significa sostanzialmente "qualsiasi".
Quindi, il software è in ascolto sulla porta TCP 80 (la porta HTTP) su uno qualsiasi degli indirizzi.
Se hai più interfacce per schede di rete (cosa che fai, come spiegherò tra poco), è possibile che tu ascolti solo un indirizzo specifico. Ad esempio, con alcuni software, potresti fare qualcosa come far ascoltare il tuo server HTTP su una scheda di rete che utilizza Ethernet cablata, ma non rispondere a una scheda di rete che utilizza reti wireless. Se lo facessi, il tuo computer potrebbe fare qualcosa di simile ad ascoltare su IPv4 192.0.2.100:80 (o IPv6 2001: db8: abcd :: 1234: 80).
Ma, poiché stai ascoltando "::: 80", il tuo computer non sta ascoltando il traffico della porta 80 su un solo indirizzo IP in entrata, stai ascoltando il traffico della porta 80 su qualsiasi indirizzo IPv6.
Perché mai vorresti essere pignolo su quale interfaccia stai ascoltando? Bene, un modo in cui ho usato questa capacità, a volte, è di avere un computer che ascolta l'interfaccia di loopback. (Ricorda quando ho detto che hai più interfacce per schede di rete ... questo è uno dei motivi per cui l'ho detto. Immagino che tu abbia una vera connessione di rete fisica e che tu abbia anche un'interfaccia loopback. Questa è la configurazione più tipica per la maggior parte dei tipi di computer in questi giorni.) Lo faccio con il tunneling SSH. Quindi posso fare qualcosa come collegare un visualizzatore VNC locale all'estremità locale di un tunnel SSH. Avendo il tunnel SSH in ascolto sull'interfaccia di loopback, non ho bisogno di preoccuparmi che il tunnel SSH possa ascoltare il traffico proveniente da una delle interfacce di rete fisiche. Così,
In alcuni casi, 0.0.0.0 o :: significa sostanzialmente l'indirizzo "non specificato", come specificato dalla RFC 4291 sezione 2.5.2che dice "Indica l'assenza di un indirizzo". A volte l'ho visto quando il software tenta di riferirsi a un indirizzo "non valido" (come se ad un computer non sia assegnato un indirizzo, forse), dove non c'è un indirizzo specifico da visualizzare. Tuttavia, in questo caso, il :: o 0.0.0.0 fa riferimento a un indirizzo "sconosciuto". Ecco perché tutte le porte LISTENING vengono visualizzate come "sconosciute". Per una connessione stabilita, sai chi è la parte remota, perché stai comunicando con loro. Per una connessione "ASCOLTO", stai ascoltando nuove conversazioni. Quel traffico potrebbe provenire, beh, forse in qualsiasi parte del mondo. Il traffico in entrata potrebbe provenire da qualsiasi indirizzo. E, il modo in cui viene visualizzato Nestat è quello di specificare un indirizzo di tutti gli zeri. Poiché non esiste un indirizzo specifico da utilizzare,
Mi limiterò a notare che avere software in ascolto su tutte le interfacce di rete è una cosa molto comune. Alcuni software possono essere configurati per ascoltare solo un indirizzo Internet specifico o forse una scheda di rete specifica. E questo può essere un po 'più sicuro, perché quindi il software non è in ascolto dove non è previsto alcun traffico valido. Ciò potrebbe limitare la capacità di attaccare. Tuttavia, molti software non dispongono di tale opzione o tale opzione è in qualche modo sepolta / nascosta. Quindi, ascoltare su tutte le schede di rete non è una cosa terribile. È abbastanza comune E, se si desidera impedire al software di ricevere traffico su una porta di rete specifica, esistono altri modi per farlo, incluso il blocco del traffico indesiderato con un firewall. In tal caso, il firewall potrebbe bloccare il traffico, ma il server (web) potrebbe ancora ascoltare il traffico su quell'interfaccia di rete. In tal caso, il server non riceverà mai traffico su quell'interfaccia, ma netstat segnalerà comunque che il server è in ascolto (per quel traffico che non raggiungerà mai quel server). Vedere netstat segnalare che il software server è in ascolto su tutte le interfacce è molto comune, e quindi non è qualcosa di cui essere particolarmente allarmati.
Infine, menzionerò che questa domanda e questa risposta non sono specifiche di Linux. (Sto citando questo perché vedo il tag "Linux" su questa domanda.) I parametri della riga di comando mostrati, e l'output di esempio mostrato, potrebbero provenire da Linux e diversi sistemi operativi potrebbero mostrare cose leggermente diverse. Tuttavia, riguardo all'argomento di :: e 0.0.0.0, il modo in cui netstat funziona in questo senso è identico su una macchina che esegue BSD o Microsoft Windows (e presumibilmente molti altri sistemi).