lsof-i: 14881
Eu quero ver se algo está escutando em uma porta no host local. Eu ia usar nc
e verificar o código de saída.
Algo parecido com isto:
echo "" | nc localhost 14881
echo $?
Alguma outra sugestão?
Se você é root:
netstat -lnp | grep ':14881 '
Talvez o netstat seja melhor porque a porta pode não estar escutando no host local ou pode estar bloqueada pelo iptables:
netstat -ln | grep :14881
echo $?
O Grep sairá com 1 se não houver correspondência. Se você quiser apenas tcp e / ou udp, adicione as opções -u ou -t ao netstat.
netstat -ano | egrep LISTEN | egrep tcp | egrep $ PORTNUMBER
sudo ss -lntup
dirá o que você está ouvindo para as conexões TCP / UDP - você pode filtrar a saída conforme apropriado (por exemplo, ouvir em 127.0.0.1, :: 1, 0.0.0.0).
Se você tem python por perto, você também pode criar um portscanner idiota (só vale a pena para TCP, no entanto):
import socket
for p in range(1,2**16):
try:
s = socket.create_connection(('127.0.0.1',p))
print "Listener on tcp/{}".format(p)
except:
continue
Eu uso isso no bash para sair quando ninguém ouve esta porta.
$port="14881"
if [[ $(netstat -ltn | grep ":${port} " | wc -l) -eq "0" ]] ; then echo "Port $port not listened to" && exit 1; fi
Tags networking bash scripting snippet