La commande suivante fonctionnera sur tout Unix dont la sortie est au même format qu'Ubuntu / Debian - où l'adresse locale est dans la colonne 4 et la sortie comprend un en-tête de 2 lignes en haut. Si l'un de ces numéros est différent, modifiez la commande awk ci-dessous.
Si vous voulez seulement IPv4 :
netstat -lnt | awk 'NR>2{print $4}' | grep -E '0.0.0.0:' | sed 's/.*://' | sort -n | uniq
Si vous voulez seulement IPv6 :
netstat -lnt | awk 'NR>2{print $4}' | grep -E ':::' | sed 's/.*://' | sort -n | uniq
Si vous voulez les deux ensemble :
netstat -lnt | awk 'NR>2{print $4}' | grep -E '(0.0.0.0:|:::)' | sed 's/.*://' | sort -n | uniq
La commande produit une liste de numéros de port qui sont à l'écoute sur toutes les interfaces. Si vous voulez lister tous les ports qui écoutent sur l'interface localhost, utilisez quelque chose comme ceci :
netstat -lnt | awk 'NR>2{print $4}' | grep -E '(127.0.0.1:|::1:)' | sed 's/.*://' | sort -n | uniq