Você pode usar netstat
:
# netstat -tlnp | grep httpd
# netstat -tlnp | grep apache
# netstat -tlnp | grep nginx
# netstat -tlnp | grep ...
Em seguida, verifique se você obtém uma linha para cada versão do protocolo IP (tcp e tcp6).
#!/bin/bash
ns=$(netstat -tlnp | grep httpd)
if grep 'tcp ' <<< "$ns" >/dev/null; then
echo "httpd has a listening IPv4 socket."
fi
if grep 'tcp6 ' <<< "$ns" >/dev/null; then
echo "httpd has a listening IPv6 socket."
fi
Note que você precisará de privilégios de root com netstat
se quiser ver os processos que pertencem à raiz (como o processo mestre do Apache). Se você quiser usar netstat
como usuário padrão, remova a opção -p
e grep
por IP e porta. Por exemplo:
$ netstat -tln | grep '0.0.0.0:80'
$ netstat -tln | grep '127.0.0.1:80'
$ netstat -tln | grep '::1:80'
Nesse caso, você não precisa grep
novamente em tcp
ou tcp6
, pois o IP que você está grep
-ing já fornece as informações que você está procurando. Se você deve procurar 127.0.0.1 ou 0.0.0.0 depende da configuração do seu servidor web.