Cómo comprobar si un protocolo de red está habilitado en Linux

LinuxLinuxBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderás cómo verificar si un protocolo de red está habilitado y en uso activo en Linux. Exploraremos tres métodos diferentes para lograr esto.

Primero, utilizarás el comando netstat -s para ver estadísticas detalladas de varios protocolos de red como TCP, UDP e ICMP, lo que te dará información sobre su actividad. A continuación, investigarás el directorio /proc/net, que expone información de red del kernel, para verificar la presencia y el estado de los protocolos. Finalmente, utilizarás el comando ss -s, una alternativa moderna a netstat, para inspeccionar el uso y las estadísticas de los protocolos. Al final de este laboratorio, estarás equipado con habilidades prácticas para diagnosticar la actividad de los protocolos de red en tu sistema Linux.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/RemoteAccessandNetworkingGroup(["Remote Access and Networking"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/RemoteAccessandNetworkingGroup -.-> linux/netstat("Network Monitoring") subgraph Lab Skills linux/ls -.-> lab-558740{{"Cómo comprobar si un protocolo de red está habilitado en Linux"}} linux/cat -.-> lab-558740{{"Cómo comprobar si un protocolo de red está habilitado en Linux"}} linux/netstat -.-> lab-558740{{"Cómo comprobar si un protocolo de red está habilitado en Linux"}} end

Verificar las estadísticas de protocolos con netstat -s

En este paso, exploraremos cómo verificar las estadísticas de los protocolos de red utilizando el comando netstat. netstat es una utilidad de línea de comandos que muestra conexiones de red, tablas de enrutamiento, estadísticas de interfaz, conexiones de enmascaramiento y pertenencias a multicast.

La opción -s con netstat muestra estadísticas por protocolo. Esto puede ser muy útil para entender la actividad de red en tu sistema y diagnosticar posibles problemas de red.

Abre tu terminal si no está abierta. Puedes hacer esto haciendo clic en el icono de Xfce Terminal en el lado izquierdo de tu escritorio.

Ahora, escribe el siguiente comando y presiona Enter:

netstat -s

Verás una salida similar a esta (los números exactos y los protocolos pueden variar dependiendo de la actividad de tu sistema):

Ip:
    Forwarding: 1
    ... (varias estadísticas de IP)
Icmp:
    ... (varias estadísticas de ICMP)
IcmpMsg:
    ... (varias estadísticas de mensajes ICMP)
Tcp:
    Active connections openings: 123
    Passive connection openings: 45
    ... (varias estadísticas de TCP)
Udp:
    InDatagrams: 678
    OutDatagrams: 901
    ... (varias estadísticas de UDP)
UdpLite:
    ... (varias estadísticas de UDPLite)

Esta salida proporciona un resumen de las estadísticas de varios protocolos de red como IP, ICMP, TCP y UDP. Por ejemplo, en la sección Tcp:, puedes ver el número de conexiones activas y pasivas abiertas. En Udp:, puedes ver el número de datagramas entrantes y salientes.

Comprender estas estadísticas puede ayudarte a identificar si un protocolo en particular está experimentando un alto tráfico o errores.

Tómate un momento para revisar la salida y ver qué protocolos están listados y qué tipo de estadísticas se proporcionan para cada uno.

Haz clic en Continuar para pasar al siguiente paso.

Verificar protocolos en /proc/net

En el paso anterior, usamos netstat -s para ver las estadísticas de los protocolos. Ahora, veamos de dónde proviene parte de esta información en el sistema de archivos de Linux.

Linux proporciona un sistema de archivos virtual llamado /proc que contiene información de procesos y detalles de configuración del sistema. Dentro de /proc, el directorio /proc/net contiene información sobre la pila de red.

Podemos usar el comando ls para listar el contenido del directorio /proc/net. Escribe el siguiente comando en tu terminal y presiona Enter:

ls /proc/net

Verás una lista de archivos y directorios, que representan diversos datos relacionados con la red. La salida se verá algo así:

arp         dev_mcast  ip_mr_vif  netlink  psched  tcp6   udp6
dev         if_inet6   ip_tables  netstat  rpc     udplite  unix
dev_snmp6   ip_mr_cache  ipv6_route  packet   route   udplite6

Muchos de estos archivos contienen información detallada sobre protocolos de red y conexiones. Por ejemplo:

  • tcp: Contiene información sobre las conexiones TCP activas.
  • udp: Contiene información sobre las conexiones UDP activas.
  • netstat: Contiene diversas estadísticas de red, similares a lo que muestra netstat -s.

Veamos el contenido del archivo netstat dentro de /proc/net. Podemos usar el comando cat para mostrar el contenido de un archivo.

Escribe el siguiente comando y presiona Enter:

cat /proc/net/netstat

La salida será una descarga sin formato de las estadísticas de red. Puede parecer un poco abrumadora al principio, ya que no está formateada para que sea fácil de leer como la salida de netstat -s.

TcpExt: SyncookiesSent SyncookiesRecv SyncookiesFailed EmbryonicRsts PruneCalled RcvPruned OfoPruned ...
IpExt: InNoRoutes InTruncatedPkts InEZHeadroomOutMcasts InBcastPktsOutBcastPkts InOctets OutOctets ...

Este archivo contiene los datos subyacentes que herramientas como netstat -s procesan y formatean. Explorar los archivos en /proc/net puede ser útil para la resolución avanzada de problemas de red y para entender el estado de la red del kernel.

Por ahora, simplemente observar la presencia y el contenido de estos archivos es suficiente para entender que las estadísticas de red se exponen a través del sistema de archivos /proc.

Haz clic en Continuar para pasar al siguiente paso.

Inspeccionar el uso de protocolos con ss -s

En este paso, utilizaremos el comando ss, que es una utilidad para investigar sockets. A menudo se considera un reemplazo de netstat ya que puede mostrar más información sobre TCP y estados.

Similar a netstat, el comando ss también tiene una opción -s para mostrar estadísticas resumidas de varios tipos de sockets. Esto puede darte una visión general rápida del número de conexiones y sockets abiertos para diferentes protocolos.

Abre tu terminal si no está abierta.

Escribe el siguiente comando y presiona Enter:

ss -s

Verás una salida que resume el número de sockets en diferentes estados y para diferentes protocolos. La salida podría verse así:

Total: 1234 (kernel 5678)
TCP:   90 (estab 50, closed 20, orphaned 5, synrecv 3, timewait 10, ...)
UDP:   15
RAW:   0
UNK:   0

TCP:
ESTAB      50
TIME-WAIT  10
... (otros estados TCP)

Desglosemos la salida:

  • Total: Muestra el número total de sockets.
  • TCP: Proporciona un resumen de los sockets TCP, incluyendo el número total y el recuento de diferentes estados como estab (establecida), closed (cerrada), timewait, etc.
  • UDP: Muestra el número total de sockets UDP.
  • RAW: Muestra el número total de sockets raw.
  • UNK: Muestra el número de tipos de sockets desconocidos.

Debajo de las líneas de resumen, ss -s a menudo proporciona un desglose más detallado de los estados TCP.

Comparando la salida de netstat -s y ss -s, es posible que notes que ss -s se centra más en los estados de los sockets, lo cual puede ser muy útil para diagnosticar problemas de conexión. Por ejemplo, un gran número de sockets en el estado TIME-WAIT podría indicar un problema al cerrar conexiones de manera eficiente.

Usar ss -s ofrece otra perspectiva de la actividad de red en comparación con netstat -s. Ambos comandos son herramientas valiosas para el monitoreo y la resolución de problemas de red en Linux.

Ahora has aprendido cómo usar netstat -s, explorar /proc/net y usar ss -s para inspeccionar las estadísticas de los protocolos de red. Estas son habilidades fundamentales para entender la actividad de red en un sistema Linux.

Haz clic en Continuar para completar este laboratorio.

Resumen

En este laboratorio, aprendimos cómo verificar si un protocolo de red está habilitado en Linux examinando estadísticas de red y archivos del sistema. Comenzamos utilizando el comando netstat -s para mostrar estadísticas por protocolo de varios protocolos de red como IP, ICMP, TCP y UDP, lo cual ayuda a entender la actividad de red y diagnosticar problemas. Luego exploramos cómo verificar la información de los protocolos inspeccionando archivos dentro del directorio /proc/net, que ofrece una visión del estado de red del kernel. Finalmente, utilizamos el comando ss -s para inspeccionar el uso de los protocolos, lo que ofrece otra forma de ver estadísticas resumidas de diferentes protocolos. Estos métodos brindan información valiosa sobre los protocolos de red activos en un sistema Linux.