Ocasionalmente, es posible que necesitemos verificar el número de puerto predeterminado de servicios / protocolos específicos o servicios que escuchan en ciertos puertos en Linux. Hay varias herramientas de línea de comandos disponibles para ayudarlo a buscar nombres y números de puertos en su sistema Linux.
1) Usando el comando Netstat
El comando Nestat es una herramienta que se utiliza para verificar las conexiones de red activas, las estadísticas de la interfaz y la tabla de enrutamiento. Está disponible en todas las distribuciones de Linux. Sin embargo, para instalaciones mínimas, puede instalarlo ejecutando
Para RedHat y CentOS
sudo yum install net-tools
Para Fedora 22 y después
dnf install net-tools
Para Debian / Ubuntu
sudo apt-get install net-tools
Uso
Para mostrar información detallada de los puntos finales TCP y UDP, ejecute
netstat -pnltu
Producción
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 13878/mysqld
tcp 0 0 127.0.0.1:11211 0.0.0.0:* LISTEN 21487/memcached
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1208/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1032/master
tcp6 0 0 :::80 :::* LISTEN 13625/httpd
tcp6 0 0 :::22 :::* LISTEN 1208/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1032/master
udp 0 0 0.0.0.0:64561 0.0.0.0:* 569/dhclient
udp 0 0 0.0.0.0:68 0.0.0.0:* 569/dhclient
udp 0 0 127.0.0.1:323 0.0.0.0:* 525/chronyd
udp6 0 0 :::11200 :::* 569/dhclient
udp6 0 0 ::1:323 :::* 525/chronyd
- -p flag Da el ID del proceso y el nombre del proceso.
- -n bandera muestra direcciones numéricas
- -l indicador muestra enchufes de escucha
- -t bandera muestra conexiones TCP
- -u bandera muestra conexiones UDP
Para encontrar un servicio que escuche la ejecución de un puerto específico
netstat -pnltu | grep -i "80"
Producción
tcp6 0 0 :::80 :::* LISTEN 13625/httpd
Del mismo modo, para encontrar qué puerto está escuchando un servicio en ejecución
netstat -pnltu | grep -i "httpd"
Producción
tcp6 0 0 :::80 :::* LISTEN 13625/httpd
2) Uso del comando fuser
El comando fuser se utiliza para mostrar los ID de proceso de los servicios que se ejecutan en puertos específicos.
No está instalado de forma predeterminada en la mayoría de los sistemas. Para instalarlo ejecuta
Para RedHat y CentOS
yum install psmisc
Para Fedoraa 22 y posteriores
dnf install psmisc
Para Debian y Ubuntu
apt-get install psmisc
Para example, para encontrar los PID que se ejecutan en el puerto 80,
fuser 80/tcp
Producción
80/tcp: 13625 18390 18391 18392 18393 18394 18442 19926 24386
Para buscar el nombre del proceso mediante la ejecución del proceso PID
ps -p 13625 -o comm=
Producción
httpd
3) Usando el comando lsof
El comando lsof se puede utilizar para examinar puntos finales TCP y UDP activos. Para instalar la herramienta de línea de comandos
Para RedHat y CentOS
yum install lsof
Para Fedoraa 22 y posteriores
dnf install lsof
Para Debian y Ubuntu
apt-get install lsof
Para mostrar puntos finales TCP y UDP activos con lsof run,
lsof -i
Producción
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
chronyd 525 chrony 1u IPv4 14681 0t0 UDP localhost:323
chronyd 525 chrony 2u IPv6 14682 0t0 UDP localhost:323
dhclient 569 root 6u IPv4 15731 0t0 UDP *:bootpc
dhclient 569 root 20u IPv4 15720 0t0 UDP *:64561
dhclient 569 root 21u IPv6 15721 0t0 UDP *:11200
master 1032 root 13u IPv4 17345 0t0 TCP localhost:smtp (LISTEN)
master 1032 root 14u IPv6 17346 0t0 TCP localhost:smtp (LISTEN)
sshd 1208 root 3u IPv4 18639 0t0 TCP *:ssh (LISTEN)
sshd 1208 root 4u IPv6 18641 0t0 TCP *:ssh (LISTEN)
sshd 7749 root 3u IPv4 11570561 0t0 TCP ip-172-31-16-136.us-east-2.compute.internal:ssh->197.232.61.206:51088 (ESTABLISHED)
sshd 7752 ec2-user 3u IPv4 11570561 0t0 TCP ip-172-31-16-136.us-east-2.compute.internal:ssh->197.232.61.206:51088 (ESTABLISHED)
httpd 13625 root 4u IPv6 7277180 0t0 TCP *:http (LISTEN)
mysqld 13878 mysql 14u IPv4 7277635 0t0 TCP *:mysql (LISTEN)
httpd 18390 apache 4u IPv6 7277180 0t0 TCP *:http (LISTEN)
httpd 18391 apache 4u IPv6 7277180 0t0 TCP *:http (LISTEN)
httpd 18392 apache 4u IPv6 7277180 0t0 TCP *:http (LISTEN)
httpd 18393 apache 4u IPv6 7277180 0t0 TCP *:http (LISTEN)
httpd 18394 apache 4u IPv6 7277180 0t0 TCP *:http (LISTEN)
httpd 18442 apache 4u IPv6 7277180 0t0 TCP *:http (LISTEN)
httpd 19926 apache 4u IPv6 7277180 0t0 TCP *:http (LISTEN)
memcached 21487 memcached 26u IPv4 6250352 0t0 TCP localhost:memcache (LISTEN)
httpd 24386 apache 4u IPv6 7277180 0t0 TCP *:http (LISTEN)
Para mostrar los procesos / servicios que escuchan en un puerto en particular, escriba el comando a continuación mientras especifica el puerto
lsof -i :80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 13625 root 4u IPv6 7277180 0t0 TCP *:http (LISTEN)
httpd 18390 apache 4u IPv6 7277180 0t0 TCP *:http (LISTEN)
httpd 18391 apache 4u IPv6 7277180 0t0 TCP *:http (LISTEN)
httpd 18392 apache 4u IPv6 7277180 0t0 TCP *:http (LISTEN)
httpd 18393 apache 4u IPv6 7277180 0t0 TCP *:http (LISTEN)
httpd 18394 apache 4u IPv6 7277180 0t0 TCP *:http (LISTEN)
httpd 18442 apache 4u IPv6 7277180 0t0 TCP *:http (LISTEN)
httpd 19926 apache 4u IPv6 7277180 0t0 TCP *:http (LISTEN)
httpd 24386 apache 4u IPv6 7277180 0t0 TCP *:http (LISTEN)
4) Uso de la herramienta Whatportis
Whatportis es una herramienta de línea de comandos que le permite buscar nombres de puertos y números de servicios que se ejecutan en su sistema. La herramienta obtiene la lista de puertos TCP / UDP oficiales de