¿Cómo comprobar si un puerto está ocupado en Linux?

Nunca antes había podido averiguar si el puerto estaba ocupado. Después de preguntarle a muchas personas, finalmente lo descubrí. Ahora lo resumo:
1. netstat -anp | grep El número de puerto es el siguiente. Tomé 3306 como ejemplo. , netstat -anp | grep 3306 (esto como nota, estoy operando como un usuario normal, así que agregué sudo. Si estoy operando como usuario root, puedes verlo sin agregar sudo) como se muestra en la Figura 1
:
Insertar descripción de la imagen aquí
En Figura 1, el estado de monitoreo principal es LISTEN, lo que significa que está ocupado. Finalmente, una columna muestra que está ocupado por el servicio mysqld. Verifique el número de puerto específico. Siempre que haya una línea como esta, significa que está ocupado.
2.netstat -nultp (no es necesario agregar el número de puerto aquí). Este comando es para verificar todos los puertos utilizados actualmente, como se muestra
Insertar descripción de la imagen aquí
en la Figura 2: Se puede ver en la figura que mi puerto 82 no está ocupado
. -anp | grep 82 para ver El uso del puerto 82 se muestra en la Figura 3:
Insertar descripción de la imagen aquí

Se puede observar que no hay línea de ESCUCHA, por lo que significa que no está ocupada. Tenga en cuenta aquí que ESCUCHAR que se muestra en la imagen no significa que el puerto esté ocupado. No lo confunda con ESCUCHAR. Al ver el puerto específico, debe ver las líneas tcp, número de puerto y ESCUCHAR para indicar que el puerto está ocupado. Verlo en Linux
El número de puerto ocupado por el proceso se puede ver en el archivo /etc/services en Linux para obtener más información sobre los puertos reservados. Puede utilizar los siguientes seis métodos para ver la información del puerto.
ss: se puede utilizar para volcar estadísticas de sockets.
netstat: puede mostrar una lista de sockets abiertos.
lsof: puede enumerar archivos abiertos.
nmap: es una herramienta de detección de redes y escáner de puertos. systemctl: es el administrador de control y administrador de servicios del sistema systemd. A continuación encontraremos el número de puerto utilizado por el demonio sshd.
Método 1: use el comando ss
[root@elk3 ~]# ss -tlnp | grep sshd
Método 2: use el comando netstat
[root@elk3 ~]# netstat -tnlp | grep ssh
Método 3: use el comando lsof También puede utilice el número de puerto para examinar.
[root@elk3 ~]# netstat -lntp | grep 860
Método 4:
usar el comando nmap
[root@elk3 ~]# nmap -sV -p 22 localhost
En la mayoría de los casos, el resultado anterior no mostrará el número de puerto real del proceso. En este momento, se recomienda utilizar el siguiente comando journalctl para verificar la información detallada en el archivo de registro.
[root@elk3 ~]# journalctl | grep -i ssh
01 de diciembre 21:43:36 elk3 systemd[1]: Iniciando el demonio del servidor OpenSSH…
01 de diciembre 21:43:36 elk3 sshd[860]: Servidor escuchando en 0.0 .0.0 puerto 22.
01 de diciembre 21:43:36 elk3 sshd[860]: Servidor escuchando en :: puerto 22. 01 de diciembre 21:43:36
elk3 systemd[1]: Se inició el demonio del servidor OpenSSH.
01 de diciembre 21:44:19 elk3 sshd[1106]: Contraseña aceptada para root desde el puerto 192.168.122.1 49316 ssh201 de diciembre 21:44:19 elk3 sshd[1106]: pam_unix(sshd:session): sesión abierta para el usuario root por (uid= 0) Con esto concluye este
artículo sobre cómo comprobar si un puerto está ocupado en LINUX

Supongo que te gusta

Origin blog.csdn.net/weixin_47059371/article/details/124973682
Recomendado
Clasificación