el puerto en uso no se muestra en la salida de netstat


11

En qué escenarios el puerto utilizado por un proceso no aparece en la netstat -asalida.

Estoy corriendo jenkinsen mi máquina. Está escuchando en el puerto 8080. Estoy intentando iniciar otro proceso que intenta vincularse en el mismo puerto y falla con el error de que el puerto ya está en uso.

Ahora cuando lo hago netstat -a | grep 8080, no aparece en la salida. Después de detener jenkinsmi proceso con éxito vinculado a 8080. ¿Alguna pista de lo que sucede?

Estoy ejecutando CentOS.


1
Intente netstat -lp, mostrándole procesos que están escuchando .
sr_

66
Pruebe también netstat -an | grep 8080, en caso de que 8080 esté en su /etc/servicesarchivo y sea reemplazado por su nombre simbólico.
Flup

2
Otro enfoque estaría usando lsof -i :8080
Valentin Bajrami

1
Tanto netstat -an como lsof -i: 8080 funcionaron. ¡Gracias por su ayuda!
rs

Su puerto probablemente se muestre por nombre en lugar de número. Uset netstat -an

Respuestas:


4

Acabo de tener un caso similar en Ubuntu 14.04. De hecho, el puerto predeterminado de jenkins (8080) se asigna al nombre "http-alt" en / etc / services. Puede verificar esto fácilmente con

grep 8080 /etc/services
http-alt    8080/tcp    webcache    # WWW caching service
http-alt    8080/udp

Además de netstat, puede considerar usar ss

ss -ntl | grep 8080

o

ss -tl | grep http-alt

1

En qué escenarios el puerto utilizado por un proceso no aparece en netstat -a salida.

Si todo funciona correctamente, nunca. Como se mencionó anteriormente, puede reemplazar su número de puerto por el nombre del servicio como se indica en /etc/services.

El uso netstat -nagarantiza que los puertos de servicio no se traducen a nombres de servicio.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.