netstat -lntu
ответ @askmish предоставит вам список служб, работающих в вашей системе на портах tcp и udp, где
-l
= только сервисы, которые прослушивают какой-то порт
-n
= показать номер порта, не пытайтесь разрешить имя службы
-t
= порты TCP
-u
= порты udp
-p
= название программы
Вам не нужен параметр 'p', поскольку вы заинтересованы только в том, чтобы узнать, какие порты свободны, а не какая программа на нем запущена.
Это только показывает, какие порты в вашей системе израсходованы. Это не говорит вам о состоянии вашей сети, например, если вы находитесь за NAT и хотите, чтобы некоторые службы были доступны извне. Или, если брандмауэр блокирует порт для внешних посетителей. В этом случае на помощь приходит nmap. ВНИМАНИЕ: Используйте nmap только в сетях, которые находятся под вашим контролем. Кроме того, существуют правила брандмауэра, которые могут блокировать пинг Nmap, вам придется поиграться с опциями, чтобы получить правильные результаты.
netstat
во многих системах он устарел иss
должен использоваться вместо него.ss
не включеныПоскольку
net-tools
это устарело , вы можете использоватьss
команду вместоnetstat
ifnetstat
на вашем компьютере:должен работать аналогично
согласно встроенной справке:
источник
Эта команда выведет список открытых сетевых портов и процессов, которым они принадлежат:
netstat -lnptu
После этого вы можете отфильтровать результаты по вашим точным спецификациям.
Вы также можете использовать
nmap
для более детальных результатов о портах.источник
sudo netstat -lnptu
Все открытые порты, включая ответный трафик:
источник
netstat -tuwanp4 | awk '{print $4}' | grep ':' | cut -d ":" -f 2 | sort | uniq
Мой первоначальный вопрос заключался в том, что он спрашивал о неиспользуемых портах, а не о портах, в настоящее время подключенных к сервисам. Если это так, то нет конкретного способа перечислить их, кроме как перечислить используемые порты и предположить, что остальные не используются.
Еще один момент, о котором следует помнить: как пользователь, вы не сможете открыть порт менее 1024 (для этого вам потребуются права root).
источник
Следующая команда будет работать на любом Unix, который выводит в том же формате, что и Ubuntu / Debian - где локальный адрес находится в столбце 4, а вывод содержит двухстрочный заголовок вверху. Если любое из этих чисел отличается, настройте команду awk ниже.
Если вы хотите только IPv4:
Если вы хотите только IPv6:
Если вы хотите оба вместе:
Команда выводит список номеров портов, которые прослушиваются на всех интерфейсах. Если вы хотите перечислить все порты, которые прослушивают интерфейс localhost, используйте что-то вроде этого:
источник
Пытаться
и посмотри на это.
источник