netstat -lntu
conforme respondido por @askmish, fornecerá uma lista de serviços em execução no seu sistema nas portas TCP e UDP onde
-l
= apenas serviços que estão escutando em alguma porta
-n
= mostre o número da porta, não tente resolver o nome do serviço
-t
= portas tcp
-u
= portas udp
-p
= nome do programa
Você não precisa do parâmetro 'p', pois está interessado apenas em obter quais portas são gratuitas e não em qual programa está sendo executado.
No entanto, isso mostra apenas quais portas do seu sistema estão esgotadas. Isso não informa o status da sua rede, por exemplo, se você está atrás do NAT e deseja que alguns serviços sejam acessíveis externamente. Ou se o firewall estiver bloqueando a porta para visitantes externos. Nesse caso, o nmap vem em socorro. AVISO: Use o nmap apenas em redes que estão sob seu controle. Além disso, existem regras de firewall que podem bloquear pings do nmap, você terá que mexer nas opções para obter resultados corretos.
netstat
está obsoleto em muitos sistemas ess
deve ser usado.ss
não está incluídoComo
net-tools
está obsoleto , você pode usar oss
comando em vez denetstat
senetstat
não estiver presente em sua máquina:deve funcionar de maneira semelhante a
de acordo com a ajuda integrada:
fonte
Este comando listará as portas de rede abertas e os processos que as possuem:
netstat -lnptu
posteriormente, você pode filtrar os resultados com suas especificações exatas.
Você também pode usar
nmap
para obter resultados mais detalhados sobre portas.fonte
sudo netstat -lnptu
Todas as portas abertas, incluindo tráfego de resposta:
fonte
netstat -tuwanp4 | awk '{print $4}' | grep ':' | cut -d ":" -f 2 | sort | uniq
Minha opinião sobre a questão original era que ele estava perguntando sobre as portas não utilizadas, não as portas atualmente conectadas aos serviços. Se for esse o caso, não há uma maneira específica de listá-las, exceto listar as portas usadas e assumir que as outras não estão sendo usadas.
Um ponto adicional a ser lembrado: como usuário, você não poderá abrir uma porta com menos de 1024 (precisará de permissões de root para isso).
fonte
O comando a seguir funcionará em qualquer Unix que saia no mesmo formato que Ubuntu / Debian - onde o endereço local está na coluna 4 e a saída inclui um cabeçalho de 2 linhas na parte superior. Se um desses números for diferente, ajuste o comando awk abaixo.
Se você deseja apenas IPv4:
Se você deseja apenas IPv6:
Se você quer os dois juntos:
O comando gera uma lista de números de porta que estão escutando em todas as interfaces. Se você deseja listar todas as portas que estão escutando na interface localhost, use algo como isto:
fonte
Experimentar
e veja isso.
fonte