Al gestionar y administrar sistemas operativos Linux una de las buenas prácticas que podemos tomar es conocer en detalle los comandos que facilitan la tarea de administración y control de una forma mucho más simple.
Uno de estos comandos es netstat, (network statistics - estadísticas de red) el cual es una herramienta de línea de comandos que nos permite supervisar las conexiones de red tanto entrantes como salientes, así como ver tablas de enrutamiento, estadísticas de la interfaz, etc.
El comando netstat está disponible en todos los sistemas operativos Unix y también disponible en los sistemas operativos Windows y es práctico en términos de resolución de problemas de red y medición de rendimiento.
El comando netstat es una de las herramientas de depuración de servicios de red más básicas, ya que nos indica qué puertos están abiertos y si los programas están escuchando en los puertos permitiéndonos llevar un mejor control sobre estos.
Si gestionamos o estamos involucrados con aspectos de red, esta herramienta es muy importante y muy útil, al igual para los administradores de sistemas, ya que nos ofrece una vía fácil para supervisar y solucionar problemas relacionados con la red y determinar el rendimiento del tráfico de red.
Solvetic trae hoy algunos de los comandos netstat más útiles para un mejor control y supervisión.
1. Listar todos los Puertos de Escucha de conexiones TCP y UDP Linux
Esta tarea es posible realizar haciendo uso de la opción usando netstat -a y así listar todos los puertos (TCP y UDP) en estado de escucha:
netstat -a | more
Allí veremos el tipo de protocolo, la dirección local, la dirección remota y su estado actual.
2. Listar conexiones de los puertos TCP Linux
Si deseamos listando sólo las conexiones de puerto TCP (Transmission Control Protocol) será necesario hacer uso del parámetro netstat -at:
netstat -at
Podemos ver en detalle la información de dichos puertos.
3. Listar conexiones de los puertos UDP Linux
Si es necesario desplegar todas las conexiones de puerto UDP (User Datagram Protocol) debemos usar el parámetro netstat -au:
netstat -au
4. Listar todas las conexiones en estado de escucha (Listening) Linux
Con netstat es posible listar todas las conexiones de los puertos de escucha activos con el parámetro netstat -l.
netstat -l
5. Listar todos los puertos TCP de escucha Linux
Si se requiere listar todos los puertos TCP de escucha activa lo podremos hacer mediante la opción netstat -lt.
netstat -lt
6. Listar todos los puertos UDP de escucha Linux
Si se desea listar todos los puertos UDP de escucha activa será posible hacerlo mediante la opción netstat -lu.
netstat -lu
7. Listar todos los puertos UNIX de escucha Linux
El comando netstat nos permite listar todos los puertos de escucha activos de UNIX usando el parámetro netstat -lx:
netstat -lx
8. Desplegar estadísticas por protocolo Linux
Netstat nos ofrece la opción de desplegar estadísticas por protocolo.
De forma predeterminada, serán desplegadas estadísticas para los protocolos TCP, UDP, ICMP e IP. El parámetro -s se puede usar para especificar un conjunto de protocolos.
Podemos ver información detallada de cada protocolo del sistema.
9. Desplegar estadísticas del protocolo TCP Linux
Si deseamos desplegar solo estadísticas del protocolo TCP usando netstat podemos hacer uso del parámetro netstat -st:
netstat -st
10. Desplegar estadísticas del protocolo UDP Linux
Si por el contrario deseamos visualizar las estadísticas del protocolo UDP debemos ejecutar netstat -su:
netstat -su
11. Desplegar nombres de servicio con PID Linux
Con la opción netstat -tp aparecerá "PID / Program Name" lo cual despliega el nombre del servicio con su número PID.
netstat -tp
12. Desplegar el modo promiscuo Linux
Al mostrar el modo Promiscuo con el parámetro -ac, netstat imprime la información seleccionada o actualiza la pantalla cada cinco segundos. La pantalla predeterminada se actualiza cada segundo.
netstat -ac 5 | grep tcp
13. Desplegar el enrutamiento IP del kernel Linux
Esta opción nos permite desplegar la tabla de enrutamiento IP del kernel con el comando netstat y route (-r).
netstat -r
14. Desplegar las transacciones de la interfaz de red Linux
Gracias a esta opción será posible desplegar las transacciones de paquetes de la interfaz de red incluyendo tanto la transferencia como la recepción de paquetes con tamaño MTU, para esto ejecutaremos lo siguiente:
netstat -i
15. Desplegar la tabla de la interfaz del kernel Linux
Esta opción es similar al comando ifconfig, y despliega la tabla de interfaz del kernel. Para su uso ejecutaremos lo siguiente:
netstat -ie
16. Desplegar la información de IPv4 e IPv6 Linux
Gracias a este parámetro veremos formación de pertenencia a grupos de multidifusión para IPv4 e IPv6. Su parámetro es:
netstat -g
17. Imprimir la información de Netstat de forma continua Linux
Para obtener información netstat cada tiempo definido será posible usar el siguiente comando el cual imprimirá información netstat continuamente:
netstat -c
Para finalizar el despliegue usaremos la combinación de teclas Ctrl + C.
18. Encontrar una dirección de no soporte Linux
Esta opción permite encontrar familias de direcciones no configuradas con información útil.
netstat --verbose
19. Mostrar programas de escucha Linux
Con esta opción es posible validar cuántos programas de escucha se ejecutan en un puerto definido, la sintaxis a usar es, por ejemplo, para http:
netstat -ap | grep http
20. Desplegar estadísticas de red RAW Linux
Si deseamos desplegar las estadísticas de red RAW lo podemos hacer usando el siguiente comando:
netstat --statistics –raw
Contamos con estas opciones para administrar diversos valores y parámetros de la red usando netstat en distros Linux de forma práctica.