Meus favoritos são:
De uma máquina local
sudo lsof -i -n -P
netstat -an | grep LISTEN | grep -v ^unix
netstat -ntulp
De uma caixa remota
nmap -v -A ip_address
Digamos que eu gostaria de saber se determinada porta (por exemplo, 21) está aberta ou fechada.
Qual é o melhor comando shell para isso?
Meus favoritos são:
De uma máquina local
sudo lsof -i -n -P
netstat -an | grep LISTEN | grep -v ^unix
netstat -ntulp
De uma caixa remota
nmap -v -A ip_address
netstat
dirá isso. Para verificar todas as portas abertas (ouvintes):
netstat -l
Você também pode mostrar todas as conexões atuais:
netstat -an
Veja a manpage para ver mais cargas, o netstat é uma ferramenta muito poderosa:)
nmap -A -T4 localhost -p 80
Até mostra a versão do SO e o serviço nessa porta
Você pode usar telnet
para tentar se conectar a uma porta TCP em um host:
telnet somehost.example.com 21
tenta se conectar à porta 21 em somehost.example.com
Se a porta estiver fechada, você recebe uma mensagem como
telnet: Unable to connect to remote host: Connection refused
caso contrário, você verá o que o programa que está ouvindo na porta informar sobre a conexão.
Tags command-line