Cómo usar netstat en GNU/Linux

Netstat es una utilidad muy potente que enumera todas las conexiones TCP y UDP, así como las conexiones de socket Unix que están actualmente escuchando y conectadas. Si bien es posible que muchos usuarios domésticos no necesariamente tengan que preocuparse por esto, los jugadores en línea o cualquier persona que tenga la intención de alojar un servidor en el futuro probablemente en algún momento tendrá que lidiar con los puertos.

Netstat también es útil para la seguridad y la privacidad, por ejemplo, para averiguar qué programas están "hablando" con Internet.

Usar netstat puede ser un proceso extremadamente simple y puede ser muy complejo y difícil, dependiendo del uso; así que hoy veremos algunas de las opciones más comunes para usar Netstat.

Como prometí (en mi artículo "¿Cómo encontrar información de red en Linux?"), les presentaré el comando netstat. Este comando es una herramienta muy útil para detectar información de red, como tablas de enrutamiento, conexiones de red, estadísticas de interfaz, conexiones enmascaradas y membresía en multidifusión. Pero usarlo no es tan fácil como otras herramientas de "descubrimiento" (como ifconfig). Con netstat realmente necesita saber lo que está buscando y cómo encontrarlo. Este artículo te ayudará a entender esto.

¿Instalación?

Afortunadamente, su distribución debería venir con netstat comando preestablecido. Para verificar esto, abra una ventana de terminal (aquí todavía usará netstat) e ingrese el comando que netstat. Este equipo necesita regresar algo así / bin / netstat. Esto le mostrará qué herramienta está instalada y dónde se encuentra el archivo ejecutable.

Fundamentos de Netstat

El comando netstat básico se ve así:

PARÁMETROS DE ARGUMENTO netstat

Donde ARGUMENTO es el tipo de familia de direcciones sobre la que desea recibir información, y OPCIONES es el (los) parámetro(s) adicional(es) que determinan el tipo de información que recibe.

Dado que netstat ofrece muchas opciones, sería mejor si primero enumerara algunas de las opciones más útiles.

  • a: Muestra el estado de todos los sockets y entradas en la tabla de enrutamiento.
  • C: Mostrar información continuamente.
  • D: muestra el estado de todas las interfaces que usan DHCP.
  • es: Mostrar información avanzada.
  • D: muestra información de pertenencia a grupos para IPv4 e IPv6.
  • I.: muestra una tabla de todas las interfaces de red.
  • yo: restringe las estadísticas a una interfaz específica.
  • METRO: Mostrar tablas de enrutamiento de multidifusión.
  • norte: muestra las direcciones de red como números en lugar de caracteres predeterminados.
  • pags: Mostrar tablas de resolución de direcciones.
  • PAGS: limita las estadísticas a ciertos protocolos.
  • pags: Mostrar todas las tablas de enrutamiento.
  • t: Mostrar conexiones TCP.
  • y: Mostrar conexiones UDP.
  • vA: Utilice el modo detallado para la salida.

Así que echemos un vistazo y veamos cómo se pueden usar juntos.

netstat

Por sí mismo (sin parámetros), este comando muestra las estadísticas generales del host al que ahora está conectado.

netstat-an

Este comando mostrará todas las conexiones al host, incluidas las direcciones y los puertos de origen y destino, y los mostrará como números.

netstat-rn

Este comando mostrará la tabla de enrutamiento del host en formato numérico.

netstat-r

Este comando mostrará su tabla de enrutamiento para su host.

netstat-natp

Este comando mostrará numéricamente las conexiones TCP activas.

netstat -t - escuchando

Esto le mostrará todos los puertos tcp en los que su host está escuchando.

netstat --estadísticas

Este comando mostrará varias estadísticas para sus interfaces de host. Tenga en cuenta que este comando mostrará MUCHAS estadísticas.

Como puede ver, este comando mostrará bastante información. Es posible que también deba pasar este comando a través del comando less para que sea más fácil de ver. Este comando completo se verá como netstat --statistics | menos. Al usarlo de esta manera, puede usar las teclas de flecha para desplazarse hacia arriba y hacia abajo en la salida.

Consejos para usar Netstat

Una de las formas más básicas y comunes de usar netstat es verificar qué puertos están escuchando

Lo que da algo como esto en mi sistema Antergos recién instalado

netstat -l

O, si quieres centrarte un poco más en la búsqueda, puedes añadir otra opción para ordenar específicamente por diferentes tipos de conexiones

  • netstat -lt # para TCP
  • netstat -lu # para UDP
  • netstat -lx # para Unix

O puede ir al extremo opuesto completo del espectro y enumerar todas las conexiones

Si lo prefieres, otra opción que te puede ser útil tener en cuenta es utilizar la opción ‘nâ€. Al usar, por ejemplo, netstat -n o netstat -ltn, todos los nombres de host ya no intentarán resolverse y solo se mostrarán las direcciones IP, como en el ejemplo a continuación.

netstat-ltn

Como puede ver, el host local en el nombre se resolvió a un valor numérico después de usar la opción ‘nâ€

Otra forma de usar netstat es netstat, es decir, para interfaces y extensiones, lo que nos ayudará a obtener un resultado más legible.

netstat -ie # Esto nos mostrará una lista de interfaces de red e información sobre cada dispositivo.

netstat, es decir

Consejos avanzados de Netstat

Lo que queremos hacer es decirle a netstat que nos dé una salida para ciertas aplicaciones que escuchan conexiones tcp. Para hacer esto, emitimos un comando:

  • netstat --tcp --escuchar --programas

La salida de este comando se vería así:

Proto Recv-Q Send-Q Local Address Foreign Address Stat    PID/Program
tcp   0      0      *:ssh         *:*             LISTEN  25469/sshd
tcp   0      0      *:httpd       *:*             LISTEN  26754/httpd
tcp   0      0      localhost:ipp *:*             LISTEN  -

Ahora realmente puedes ver información útil. En el resultado anterior, puede ver que tanto sshd como httpd escuchan las conexiones entrantes. Arriba hay solo un fragmento de cómo podría verse el resultado. Lo que es muy útil acerca de este comando es que le mostrará si hay un comando o una dirección local que escucha las conexiones entrantes que no deben escucharse. Si encuentra una aplicación que no debería estar escuchando, elimínela para estar seguro.

Ruta

Netstat puede imprimir rápidamente la tabla de enrutamiento del kernel de su máquina usando el comando:

netstat-r

La salida de este comando se verá así:

Kernel IP routing table
Destination  Gateway     Genmask         Flags   MSS Window  irtt Iface
192.168.1.0  *           255.255.255.0   U       0 0         0    eth0
default      192.168.1.1 0.0.0.0         UG      0 0         0    eth0

Estadísticas

Esta es una de las herramientas netstat más útiles. Con esto, puede aprender con precisión la estática para cada protocolo. La estructura principal del equipo:

netstat --estadísticas

que le dará mucha más información de la que desea. Digamos que solo quiere ver estadísticas sobre TCP. Para hacer esto, puede emitir un comando:

netstat -t --estadísticas

El resultado para el equipo antes mencionado incluirá información como:

Tcp:
4343 active connections openings
8 passive connection openings
5 failed connection attempts
178 connection resets received
6 connections established
59075 segments received
60033 segments send out
76 segments retransmited
0 bad segments received.
303 resets sent

O también puede obtener información sobre UDP con el comando:

netstat -u --estadísticas

Lo que le dará una salida similar para el protocolo UDP.

Ser creativo

¿Qué sucede si desea ver todas las direcciones IP únicas conectadas al servidor? Puede hacer esto con netstat (y varias otras herramientas), por ejemplo:

netstat -nat | awk '{ print $5}' | cut -d: -f1 | sed -e '/^$/d' | uniq

El resultado del comando anterior dependerá de la cantidad de tráfico que reciba su máquina/servidor. Pero incluirá todas las direcciones IP únicas que intentan conectarse a su servidor.

¿Qué hay de verificar si su servidor está bajo un ataque de DOS? Puedes hacer esto con netstat así:
netstat -anp |grep 'tcp|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

El comando anterior enumerará las direcciones IP que solicitan la mayor cantidad de conexiones a su servidor. Si ve un número que es mucho más alto de lo que debería ser, lo más probable es que esté bajo un ataque de denegación de servicio.

Observaciones finales

Netstat es una de esas herramientas que nunca crees que necesitarás hasta que de repente lo haces; y siempre es bueno saber cómo usarlos cuando surge la necesidad al menos en algún nivel básico. Para obtener más información sobre cómo usar el comando netstat y su configuración, consulte las páginas del manual ingresando hombre netstat.

Ahora tu: ¿Qué utilidad prefieres para consultar la información de la red y por qué? ¡Cuéntanos en los comentarios!

Artículos similares

Artículos de interés

Subir