¿Cómo puedo saber qué IP:PORT servidor web Apache está monitoreando? Hay algunos comandos de red, pero muestran el puerto TCP en uso. La máquina tiene múltiples interfaces de red y la Listen
sección httpd.conf
está comentada. Entonces, uno de ellos se usa de forma predeterminada y no sé cuál está configurado como predeterminado.
Por ejemplo, el siguiente comando solo muestra el número de puerto
root@cluster:~# netstat -pat | grep httpd
tcp 0 0 *:ulistproc *:* LISTEN 3940/httpd
tcp 0 0 *:https *:* LISTEN 3940/httpd
Además, espero que el número de puerto correcto sea 80 y no 3940.
¿Alguna idea para encontrar eso?
Respuesta1
Esa última columna es el proceso (número de proceso/nombre del proceso) y no el puerto. El puerto está en la cuarta columna, en su caso muestra dos puertos abiertos ulistproc y https. Ambos puertos están abiertos en la dirección "*", lo que significa todas las direcciones de su máquina (eso es el valor predeterminado normal para la mayoría de los demonios, hay una configuración para limitarlo). Si desea los números de puerto reales, utilice "netstat -pant" para evitar que realice la conversión simbólica.
Respuesta2
Como root, escriba
netstat -pat | grep httpd
(o grep apache
dependiendo de tu distribución)
Respuesta3
nmap localhost
cat httpd.conf | grep port
Respuesta4
Además de usar netstat, también puede usarlo lsof
para enumerar archivos abiertos (transmisiones, sockets, archivos de bloque, 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) - lista de archivos abiertos
-i = mostrar archivos IPv4/6
-n = no resolver nombres de host (es decir, mostrar IP)
-P muestra números de puerto en lugar de nombres descriptivos (es decir, 80 en lugar de HTTP).