encontrar IP y PUERTO en uso por Apache

encontrar IP y PUERTO en uso por Apache

¿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 Listensección httpd.confestá 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 apachedependiendo de tu distribución)

Respuesta3

nmap localhost

cat httpd.conf | grep port

Respuesta4

Además de usar netstat, también puede usarlo lsofpara 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).

información relacionada