Portas são usadas pela execução do programam

1

Como posso descobrir quais portas um programa está usando em sua execução?

Estou usando um servidor Ubuntu 14.04 e o programa "SMcli". Mas o programa mostra em cada execução "Foram detectados erros de rede durante a conexão com o sistema de armazenamento". Mas antes de mudarmos a localização, tudo estava funcionando bem.

Agora preciso saber quais portas este programa está usando. Então eu posso ver quais portas o alvo está escutando.

    
por user3772108 29.04.2015 / 11:53

2 respostas

2

Tente usar netstat -tunap ou netstat -tunlp antes do início do programa e após o início do programa.

    
por Pavol Polacko 29.04.2015 / 12:37
2

Se o seu programa for nc (por exemplo), você pode fazer:

sudo netstat -tulpn | grep "nc" | grep -Po "(?<=:)[^ ]+(?=.*:)"

ou

sudo netstat -tulpn | grep "nc" | tr -s ' ' | cut -d' ' -f4 | cut -d: -f2

Aqui eu considerei apenas o IPv4 e assumi que você tem apenas uma instância do serviço em execução. Se você precisar considerar qualquer um dos itens acima, procure o serviço pelo nome e decida qual deles é o desejado:

sudo netstat -tulpn | grep "nc"

Substitua nc pelo nome do serviço que você deseja procurar.

Exemplo:

$ sudo netstat -tulpn | grep "nc" | tr -s ' ' | cut -d' ' -f4 | cut -d: -f2
4567
$ sudo netstat -tulpn | grep "nc" | grep -Po "(?<=:)[^ ]+(?=.*:)"
4567
    
por heemayl 29.04.2015 / 13:01