Наступна команда буде працювати на будь-якому Unix, який виводить у тому ж форматі, що і Ubuntu / Debian - де локальна адреса знаходиться у стовпці 4, а висновок містить заголовку 2 рядка вгорі. Якщо будь-яке з цих чисел відрізняється, змініть команду awk нижче.
Якщо ви хочете лише IPv4:
netstat -lnt | awk 'NR>2{print $4}' | grep -E '0.0.0.0:' | sed 's/.*://' | sort -n | uniq
Якщо ви хочете лише IPv6:
netstat -lnt | awk 'NR>2{print $4}' | grep -E ':::' | sed 's/.*://' | sort -n | uniq
Якщо ви хочете обох разом:
netstat -lnt | awk 'NR>2{print $4}' | grep -E '(0.0.0.0:|:::)' | sed 's/.*://' | sort -n | uniq
Команда виводить список номерів портів, які прослуховуються на всіх інтерфейсах. Якщо ви хочете перерахувати всі порти, які прослуховуються в інтерфейсі localhost, тоді використовуйте щось подібне:
netstat -lnt | awk 'NR>2{print $4}' | grep -E '(127.0.0.1:|::1:)' | sed 's/.*://' | sort -n | uniq
netstat
це застаріло у багатьох системах і йогоss
слід використовувати замість цього.