cómo usar netstat en un puerto específico en Linux

15

Chicos, quiero saber si mi puerto específico está ejecutando un servidor usando netstat? ¿Cómo lo logro?


fuente
1
netstat -anp | grep portNumber
trapos

Respuestas:

15

Puedes usar

netstat -pnlt | grep ':portno'

otra opción, puede usar la herramienta nmap para verificar los puertos abiertos en el servidor

nmap -sT -O localhost

Salida

Starting nmap 3.55 ( http://www.insecure.org/nmap/ ) at 2004-09-24 13:49 EDT
Interesting ports on localhost.localdomain (127.0.0.1):
(The 1653 ports scanned but not shown below are in state: closed)
PORT      STATE SERVICE
22/tcp    open  ssh 
25/tcp    open  smtp
111/tcp   open  rpcbind
Device type: general purpose

Ejemplo de Netstat:

[root@krizna ~]# netstat -pnlt | grep ':80'
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name 
tcp        0      0 :::80                       :::*                        LISTEN      1164/httpd          
krizna
fuente
¿Y qué parte de los resultados puedo determinar si es un servidor?
Verifique la parte de ejemplo de netstat, port ::: 80 se muestra en la dirección local que está ESCUCHANDO (quiero decir abierto).
Vale la pena mencionar que el grep ': portno' también puede recoger algunas direcciones IPv6 que contienen esa secuencia. Eso puede ser un problema si intenta utilizar este comando en un script.
Kevin Keane
2

utilizar netstat -anp | grep portNumber

harapos
fuente
así que estoy obteniendo una lista de muchas conexiones del puerto 80. ¿Cómo encuentro el puerto del servidor?
2

Creo que netstat -nat | grep port | grep LISTENdebería hacer el truco.


fuente
Esto enumera todos los puertos, y luego grep para puertos de escucha. En su lugar, solo debería mostrar los puertos de escucha en -llugar de -a. Y la pregunta no era solo acerca de los puertos tcp, por lo que la -topción no debería estar allí.
Paul Tobias