Como root, digite
netstat -pat | grep httpd
(ou grep apache
dependendo da sua distro)
Como posso encontrar qual servidor web Apache PORT: IP está monitorando? Existem alguns comandos de rede, mas eles mostram a porta TCP em uso. A máquina tem várias interfaces de rede e a seção Listen
em httpd.conf
é comentada. Então, um dos é usado por padrão e eu não sei qual é o padrão.
Por exemplo, o seguinte comando mostra apenas o número da porta
root@cluster:~# netstat -pat | grep httpd
tcp 0 0 *:ulistproc *:* LISTEN 3940/httpd
tcp 0 0 *:https *:* LISTEN 3940/httpd
Além disso, espero que o número de porta correto seja 80 e não 3940!
Alguma ideia para descobrir isso?
Essa última coluna é o processo (processo # / nome do processo) e não a porta. A porta está na quarta coluna, no seu caso, mostra duas portas abertas ulistproc e https. Ambas as portas estão abertas no endereço "*", o que significa que todos os endereços da sua máquina (que é o padrão normal para a maioria dos daemons, há uma configuração para limitá-lo). Se você quiser os números de porta reais, use "netstat -pant" para evitar que faça a conversão simbólica.
nmap localhost
cat httpd.conf | grep port
Sendo root, você pode executar
netstat -ntlp | grep httpd
[root@cluster ~]# netstat -ntlp|grep httpd
tcp6 0 0 :::80 :::* LISTEN 13876/httpd
tcp6 0 0 :::443 :::* LISTEN 13876/httpd
Além de usar o netstat, você também pode usar lsof
para listar arquivos abertos (fluxos, sockets, arquivos de bloco, etc.).
root@host: lsof -i -n -P |grep httpd
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 4291 root 3u IPv4 124715 0t0 TCP *:80 (LISTEN)
lsof (8) - list open files
-i = show IPv4/6 files
-n = do not resolve hostnames (i.e. show IPs)
-P show port numbers instead of friendly names (i.e 80 instead of HTTP).