@Justgivemeaname: nmapes una herramienta para verificar puertos abiertos en otro host. Si puede ejecutarlo netstaten una máquina, es mucho más rápido y confiable usarlo.
David Foerster
@DavidFoerster: No sabía netstat, así que aprendí eso. Sin embargo, dice en el enlace que debería usarse desde otro host. ¡Gracias!
Hay algunos parámetros netstatque son útiles para esto:
-lo --listeningmuestra solo los enchufes que actualmente escuchan la conexión entrante.
-ao --allmuestra todos los enchufes actualmente en uso.
-to --tcpmuestra los zócalos tcp.
-uo --udpmuestra las tomas udp.
-no --numericmuestra los hosts y puertos como números, en lugar de resolver en dns y buscar en / etc / services.
Utiliza una combinación de estos para obtener lo que quieres. Para saber qué números de puerto están actualmente en uso, use uno de estos:
netstat -atn # For tcp
netstat -aun # For udp
netstat -atun # For both
En la salida, todos los puertos mencionados están en uso, ya sea para escuchar la conexión entrante o conectados a un par ** todos los demás están cerrados. Los puertos TCP y UDP tienen 16 bits de ancho (van desde 1-65535)
** También se pueden conectar / desconectar del par.
¿El estado del puerto "ESCUCHANDO" indica que el puerto está abierto?
Si. Significa que algún servicio está escuchando ese puerto en su computadora para la conexión entrante, es decir, este puerto está abierto para establecer nuevas conexiones.
¿Algún puerto que no se muestra en la salida indica que está cerrado?
Si. Recuerde netstat -aque mostrará todas las conexiones activas (de escucha ) y pasivas ( sin escucha ), es decir, los puertos que actúan como servidor (algunos servicios están escuchando estos puertos para conexiones desde una máquina / proceso diferente) y establecidos (las conexiones se establecen en estos puertos independientemente del hecho de que el host / un servicio puede ser un servidor o cliente)
Todos los puertos TCP y UDP pertenecen a una categoría llamada sockets y hay muchos de esos. Para ver la información del socket puede verificar man ss.
Gracias. usted escribió que -asignifica servidor y establecido. ¿"Servidor" significa puertos que están siendo escuchados por algunos servicios? ¿"Establecido" significa puertos donde hay conexiones existentes independientemente de si es un puerto de cliente o servidor? Entonces, ¿qué tipo de puertos -ano muestra?
Tim
No creo que la -aopción signifique enchufes "todos activos"; solo significa "todos". netstat muestra todos los sockets activos por defecto, pero deja de lado los sockets pasivos (abiertos, escuchando). Al usar la -aopción, se muestran los zócalos activos y pasivos.
Egon Olieux
@EgonOlieux Gracias. Estoy corregido; editó la respuesta.
heemayl
@heemayl La segunda parte de su respuesta aún no es correcta. Un socket TCP en estado de "escucha" nunca puede ser una conexión; no está conectado a nada, solo está escuchando. Los sockets TCP de escucha también se denominan sockets pasivos debido a esto. Si un cliente intenta conectarse a un socket (de escucha) en un servidor, se creará un nuevo socket en el servidor para establecer una conexión con el cliente. Un socket que es parte de una conexión establecida se llama socket activo.
Egon Olieux
3
Otra opción es ss . Es mucho más fácil de usar ...
El siguiente comando solo generará una lista de los zócalos de escucha actuales.
-a conflictos con -l, -a agarra todo sea que se establezcan o escuchando, y -L simplemente agarra ESCUCHAR, por lo que en realidad se trata de tcp '-ltnp', UDP '-lunp' o TCP '-ltunp' + UDP
ModerateJavaScriptDev
1
En realidad, hay una mejor manera de ver qué puertos tiene abiertos. El problema con netstato lsofes que consultan la pila de red y en realidad no se conectan a la máquina, sino que intentan ver qué se está ejecutando en el sistema. El mejor enfoque es usarlo nmapasí:
nmap
es una herramienta para verificar puertos abiertos en otro host. Si puede ejecutarlonetstat
en una máquina, es mucho más rápido y confiable usarlo.netstat
, así que aprendí eso. Sin embargo, dice en el enlace que debería usarse desde otro host. ¡Gracias!Respuestas:
Hay algunos parámetros
netstat
que son útiles para esto:-l
o--listening
muestra solo los enchufes que actualmente escuchan la conexión entrante.-a
o--all
muestra todos los enchufes actualmente en uso.-t
o--tcp
muestra los zócalos tcp.-u
o--udp
muestra las tomas udp.-n
o--numeric
muestra los hosts y puertos como números, en lugar de resolver en dns y buscar en / etc / services.Utiliza una combinación de estos para obtener lo que quieres. Para saber qué números de puerto están actualmente en uso, use uno de estos:
En la salida, todos los puertos mencionados están en uso, ya sea para escuchar la conexión entrante o conectados a un par ** todos los demás están cerrados. Los puertos TCP y UDP tienen 16 bits de ancho (van desde 1-65535)
** También se pueden conectar / desconectar del par.
fuente
Puedes usar este comando:
Si muestra algún proceso, se utiliza. Está cerrado (no utilizado) si no hay salida.
fuente
Otra línea de comando alternativa fácil de usar para averiguar qué proceso está usando un puerto:
Agregué la siguiente función en mi .bash_profile,
y ahora ejecuta "pslisten 5060" para ver quién está tomando mi puerto SIP.
También funciona con Apple Mac OS X.
fuente
Si. Significa que algún servicio está escuchando ese puerto en su computadora para la conexión entrante, es decir, este puerto está abierto para establecer nuevas conexiones.
Si. Recuerde
netstat -a
que mostrará todas las conexiones activas (de escucha ) y pasivas ( sin escucha ), es decir, los puertos que actúan como servidor (algunos servicios están escuchando estos puertos para conexiones desde una máquina / proceso diferente) y establecidos (las conexiones se establecen en estos puertos independientemente del hecho de que el host / un servicio puede ser un servidor o cliente)Todos los puertos TCP y UDP pertenecen a una categoría llamada sockets y hay muchos de esos. Para ver la información del socket puede verificar
man ss
.fuente
-a
significa servidor y establecido. ¿"Servidor" significa puertos que están siendo escuchados por algunos servicios? ¿"Establecido" significa puertos donde hay conexiones existentes independientemente de si es un puerto de cliente o servidor? Entonces, ¿qué tipo de puertos-a
no muestra?-a
opción signifique enchufes "todos activos"; solo significa "todos". netstat muestra todos los sockets activos por defecto, pero deja de lado los sockets pasivos (abiertos, escuchando). Al usar la-a
opción, se muestran los zócalos activos y pasivos.Otra opción es ss . Es mucho más fácil de usar ...
El siguiente comando solo generará una lista de los zócalos de escucha actuales.
fuente
O esto podría ayudar usando el reloj, luego juegue con lo que desea ver.
fuente
En realidad, hay una mejor manera de ver qué puertos tiene abiertos. El problema con
netstat
olsof
es que consultan la pila de red y en realidad no se conectan a la máquina, sino que intentan ver qué se está ejecutando en el sistema. El mejor enfoque es usarlonmap
así:Ver puertos abiertos.
fuente
Pruebe esto para obtener una lista de puertos abiertos en ese rango.
¡Y este comando mostrará qué es!
fuente