Bienvenidos a este capítulo del Curso de Linux para Hackers – Los comandos SS y Netstat. Comparte este articulo y síguenos para recibir más capítulos y cursos gratis.

Esta guía es parte de un curso mucho más grande en donde te enseñamos a convertirte en hacker de 0 a 100. Desde los conocimientos más básicos hasta conseguir empleo.

En esta guía veremos desde cero un tema tan amplio como es Linux y lo haremos desde el punto de vista del hacking y la ciberseguridad.

Para saber más comente a continuación, respondemos todos y cada uno de los comentarios.

¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?

Lo que aprenderás en este artículo:

  1. Comprender la función principal del comando netstat en Linux
    • Interpretar las estadísticas de red, incluyendo conexiones de sockets, tablas de enrutamiento y estado de interfaces.
    • Conocer cómo visualizar información sobre conexiones TCP y UDP.
  2. Usar opciones avanzadas de netstat:
    • Filtrar resultados para mostrar conexiones de escucha, PID, UID y estadísticas de red.
    • Deshabilitar la búsqueda DNS para obtener resultados más rápidos.

Comando Netstat en Linux con ejemplos

El comando netstat de Linux significa Estadísticas de red . Muestra información sobre diferentes estadísticas de interfaz, incluidos los sockets abiertos, las tablas de enrutamiento y la información de conexión. Además, se puede utilizar para mostrar todas las conexiones de sockets (incluidos TCP y UDP). Además de los sockets conectados, también muestra los sockets que están pendientes de conexión. Es una herramienta útil para los administradores de redes y sistemas.

En informática, el comando netstat es una utilidad de red de línea de comandos que muestra las conexiones de red para TCP (tanto salientes como entrantes), varias interfaces de red (interfaz de red definida por software o controlador de interfaz de red), estadísticas de protocolo de red y tablas de enrutamiento.

Netstat ofrece las siguientes estadísticas:

  • Proto: Proto es el nombre del protocolo (UDP o TCP).
  • Dirección local: la dirección local especifica la dirección IP y el número de puerto de la computadora local que se está utilizando. Se muestra el nombre de la computadora local relacionado con la dirección IP y el nombre del puerto a menos que se mencione el parámetro, es decir, -n. Se muestra un asterisco (*) para el host cuando el servidor está activo (escuchando) en cada interfaz. El número de puerto se muestra como un asterisco si el puerto aún no está establecido.
  • Dirección externa: el número de puerto y la dirección IP del equipo remoto al que está vinculado un socket. Se muestran los nombres relacionados con la dirección IP y todos los puertos, a menos que se mencione el parámetro, es decir, -n. El número de puerto se muestra como un asterisco si el puerto aún no está establecido.
  • Estado: representa el estado de la conexión TCP. Hay varios estados posibles disponibles, entre ellos TIME_WAIT, SYN_SEND, SYN_RECEIVED, LISTEN, LAST_ACK, FIN_WAIT_2, FIN_WAIT_1, ESTABLISHED, CLOSED y CLOSE_WAIT.

El Comando netstat
 

DominioDescripción
netstat -aRepresenta cada socket, tanto el que escucha como el que no escucha, y cada protocolo, como UDP, TCP, etc.
netstat -atRepresenta únicamente conexiones TCP (-au representa únicamente conexiones UDP).
netstat -antRepresenta cada conexión TCP sin resolución DNS (en lugar de mostrar direcciones IP).
netstat -alMuestra únicamente los conectores de escucha.
netstat -aepMuestra el PID y a qué función pertenecen todos los sockets; incluye información adicional como el usuario. Ejecútelo como root para verificar cada PID.
netstat -s > archivo.txtMuestra estadísticas de la red.
netstat -iMuestra una tabla de cada interfaz de red. Incluya -e para recibir el resultado, que es lo mismo que ifconfig.
netstat -rMuestra la información sobre el enrutamiento del núcleo. Es un resultado similar al de route -e.
netstat -ctMuestra conexiones TCP regularmente.
netstat -gMuestra la información de la membresía del grupo de multidifusión para IPv6 e IPv4.
netstat -atnp | grep ‘ESTABLISHED’Muestra cada conexión TCP «establecida» actualmente.
netstat -lntuMuestra todos los servicios que escuchan UDP y TCP, y todos los puertos abiertos libres en el dispositivo local.

Sintaxis de netstat:

El comando netstat admite varias opciones de línea de comandos. La sintaxis básica del comando netstat es la siguiente:

netstat -bandera 

Opciones:

Admite múltiples opciones de línea de comandos para imprimir información sobre el subsistema de red de Linux . La salida está controlada por el primer argumento. Veamos la lista de los primeros argumentos:

(ninguno): si no se especifica ninguna opción, se ejecutará el comando predeterminado que muestra una lista de sockets abiertos de todas las familias de direcciones configuradas.

–route, -r: se utiliza para imprimir las tablas de enrutamiento del núcleo. Los comandos «netstat -r» y «route -e» producirán el mismo resultado.

–groups, -g: Se utiliza para mostrar información de membresía del grupo de multidifusión en diferentes versiones de IP (Ipv4 e IPV6).

–interfaces, -i: Se utiliza para mostrar todas las interfaces de red.

–masquerade, -M: Muestra conexiones enmascaradas.

–statistics, -s: esta opción muestra las estadísticas de resumen de cada protocolo.

Otras opciones:

–verbose, -v: se utiliza para mostrar la salida detallada. Es una herramienta útil para mostrar los detalles sobre las familias de direcciones no configuradas.

–wide, -W: se utiliza como salida para no reducir la dirección IP según sea necesario. Sigue siendo opcional para no romper los scripts existentes.

–numeric, -n: se utiliza para mostrar direcciones numéricas que alternativamente definen hosts simbólicos, puertos o nombres de usuario.

–numeric-hosts: Se utiliza para mostrar direcciones de host numéricas; no afecta la resolución del puerto o los nombres de usuario.

–numeric-ports: Se utiliza para mostrar números de puertos numéricos, no afecta las propiedades y objetos de los nombres de host o usuario.

–numeric-users: Se utiliza para mostrar identificadores de usuarios numéricos, no afecta la resolución de los nombres de host o puerto.

–protocol=family, -A: Se utiliza para especificar las familias de direcciones para las que se mostrarán las conexiones. Las familias de direcciones están separadas por una coma (‘,’) como Inet, inet6, Unix, ax25, Netrom, Econet, Ipx, DDP y Bluetooth.

-c, –continuous: Se utiliza para mostrar la información seleccionada de forma continua durante cada segundo.

-e, –extend: se utiliza para salida extendida. Esta opción se puede utilizar dos veces para obtener el máximo nivel de detalle.

-o, –timers: se utiliza para incluir información relacionada con los temporizadores de red.

-p, –program: Se utiliza para mostrar el PID y el nombre del proceso a los sockets correspondientes.

-l, –listening: Se utiliza para mostrar sólo los sockets de escucha.

-a, –all: se utiliza para mostrar ambos sockets (es decir, los que escuchan y los que no). Al especificar la opción ‘–interfaces’, podemos listar las interfaces que no están activas.

-F: Se utiliza para mostrar la información de ruta de la FIB.

-C: Se utiliza para mostrar la información de enrutamiento del caché de ruta.

Ejemplos del comando netstat

Veamos los siguientes ejemplos del comando netstat:

  • Mostrar todas las conexiones
  • Mostrar solo conexiones TCP o UDP
  • Deshabilitar la búsqueda DNS inversa para obtener una salida más rápida
  • Mostrar solo conexiones de escucha
  • Mostrar Pid y Uid
  • Mostrar estadísticas
  • Mostrar información de enrutamiento del kernel
  • Interfaces de red de visualización
  • Mostrar la salida de netstat de forma continua
  • Mostrar información del grupo de multidifusión

Mostrar todas las conexiones

La opción ‘-a’ se utiliza para mostrar todas las conexiones existentes. Ejecute el comando netstat de la siguiente manera:

netstat -a  

El comando anterior mostrará una lista de todas las conexiones existentes. Observe el siguiente resultado:

Mostrar solo conexiones TCP o UDP

Podemos listar solo las conexiones TCP o UDP. Para mostrar solo la conexión TCP, ejecute el comando con la opción ‘t’ de la siguiente manera:

netstat -at  

El comando anterior mostrará una lista de todas las conexiones TCP. Observe el siguiente resultado:

Para mostrar solo la conexión UDP, ejecútelo con la opción ‘u’ de la siguiente manera:

netstat -au  

El comando anterior mostrará una lista de todas las conexiones UDP. Observe el siguiente resultado:

Deshabilitar la búsqueda DNS inversa para obtener una salida más rápida

El comportamiento predeterminado del comando netstat descubre el nombre de host de cada dirección IP mediante una búsqueda DNS inversa. Esto provoca la ralentización de la salida. Si no queremos saber el nombre de host, deshabilite la búsqueda DNS inversa suprimiendo la opción «n» con ella: Considere el siguiente comando:

netstat -ant

El comando anterior deshabilitará la búsqueda DNS inversa y mostrará todas las conexiones TCP. Considere el siguiente resultado:

Mostrar solo conexiones de escucha

Las conexiones de escucha son aquellas conexiones que están disponibles para solicitudes de conexión. Cualquier proceso de red mantiene un puerto abierto para las solicitudes de conexión entrantes de escucha. Estas conexiones se pueden enumerar ejecutando el siguiente comando:

netstat -tnl  

El comando anterior enumerará todas las conexiones que escuchan para las conexiones TCP. Considere el siguiente resultado:

Mostrar Pid y Uid

Al verificar las estadísticas de la red, a veces es vital conocer el Pid y el Uid de una conexión o usuario en particular. El Pid y el Uid se pueden enumerar ejecutando la opción ‘p’. Ejecute el siguiente comando:

sudo netstat -nlpt  

El comando anterior mostrará todos los Pid de las conexiones TCP. Es necesario ejecutar este comando con privilegios sudo. De lo contrario, no mostrará el Pid. Considere el siguiente resultado:

Mostrar estadísticas

El comando netstat también es una herramienta útil para mostrar las estadísticas de red, como la cantidad de paquetes transmitidos y recibidos por un protocolo. Para mostrar las estadísticas de red, ejecute el comando con la opción ‘-s’ de la siguiente manera:

netstat -s  

El comando anterior mostrará las estadísticas de la red. Considere el siguiente resultado:

Mostrar información de enrutamiento del kernel

La opción ‘r’ se utiliza para mostrar la información de enrutamiento del núcleo. Mostrará el mismo resultado que el comando route. Para mostrar la información de enrutamiento, ejecute el comando de la siguiente manera:

netstat -rn  

El comando anterior mostrará la información de enrutamiento. La opción ‘n’ deshabilitará la búsqueda de nombre de host. Considere el siguiente resultado:

Interfaces de red de visualización

También podemos mostrar información sobre las interfaces de red mediante el comando netstat. Para mostrar las interfaces de red, ejecute el comando con la opción ‘i’ de la siguiente manera:

netstat -i  

El comando anterior mostrará una lista de las interfaces de red y la información relacionada. Considere el siguiente resultado:

Mostrar la salida de netstat de forma continua

Para mostrar la salida de netstat de forma continua, ejecute el comando con la opción ‘c’ de la siguiente manera:

netstat -ct  

El comando anterior mostrará las conexiones TCP de forma continua. Observe el siguiente resultado:

Mostrar información del grupo de multidifusión

La opción ‘g’ se utiliza para mostrar la información del grupo de multidifusión. Para imprimir los detalles de Ipv4 e Ipv6 , ejecute el siguiente comando:

netstat -g  

El comando anterior mostrará la información del grupo de multidifusión. Considere el siguiente resultado:

Este comando tiene más opciones que puedes explorar

netstat --help

También  te recomendamos consultar las páginas man:

 man netstat

El comando SS

El comando ss reemplaza al comando netstat. Este comando brinda más información en comparación con netstat. También es más rápido que netstat, ya que obtiene toda la información del espacio de usuario del kernel.

Sintaxis:

ss

Mire la instantánea de arriba, el comando ss muestra todas las conexiones TCP, UDP y de socket.

Listado de puertos de escucha y conectados de TCP, UDP y Unix

Si desea enumerar los puertos conectados y de escucha para TCP, UDP y Unix, utilice -t, -u y -x respectivamente con un comando.

ss -ta  
ss -ua  
ss -xa  

Listado de puertos de escucha de TCP, UDP y Unix

Si desea listar los puertos de escucha para TCP, UDP y Unix, utilice -t, -u y -x respectivamente con el comando l .

Sintaxis:

ss -lt  
ss -lu  
ss -lx  

Resumen del artículo sobre el comando netstat

1. Introducción al comando netstat

  • Función principal: netstat (Network Statistics) es una herramienta de diagnóstico que proporciona información sobre conexiones de red y el estado de la interfaz.
  • Uso común: Revisar conexiones TCP y UDP, visualizar tablas de enrutamiento, identificar puertos de escucha y mostrar conexiones activas.

2. Sintaxis básica de netstat

netstat [opciones]
  • Sin opciones, netstat muestra una lista de sockets abiertos.

3. Opciones clave de netstat

  • Opciones generales:
    • -a: Muestra todas las conexiones.
    • -t: Filtra solo conexiones TCP.
    • -u: Filtra solo conexiones UDP.
    • -n: Muestra direcciones IP y números de puerto en formato numérico, desactivando la búsqueda DNS inversa (acelera la salida).
    • -p: Muestra el PID y UID del proceso correspondiente (requiere privilegios sudo).
    • -i: Muestra estadísticas de las interfaces de red.
    • -r: Muestra la tabla de enrutamiento del sistema.
  • Opciones avanzadas:
    • -s: Muestra estadísticas de red por protocolo.
    • -c: Actualiza la salida continuamente.
    • -g: Muestra la información de los grupos de multidifusión.

4. Ejemplos prácticos del comando netstat

  • Mostrar todas las conexiones:
    • netstat -a Muestra todas las conexiones activas.
  • Listar solo conexiones TCP:
    • netstat -at Lista todas las conexiones TCP.
  • Desactivar búsqueda DNS inversa:
    • netstat -ant Desactiva la búsqueda DNS para mostrar IPs y puertos en formato numérico, acelerando la salida.
  • Mostrar solo conexiones de escucha:
    • netstat -l Muestra solo las conexiones que están en modo de escucha.
  • Mostrar PID y UID de cada conexión:
    • sudo netstat -nlpt Muestra el PID y UID asociados a cada conexión TCP (requiere permisos de superusuario).
  • Mostrar estadísticas de red:
    • netstat -s Muestra estadísticas detalladas de la red, incluyendo paquetes enviados y recibidos.
  • Visualizar la tabla de enrutamiento:
    • netstat -rn Muestra la tabla de enrutamiento y suprime la resolución de nombres de host.
  • Mostrar interfaces de red:
    • netstat -i Muestra información sobre las interfaces de red del sistema.
  • Salida continua de netstat:
    • netstat -ct Muestra una lista actualizada continuamente de conexiones TCP.
  • Mostrar información de grupos de multidifusión:
    • netstat -g Muestra detalles sobre la membresía en grupos de multidifusión para IPv4 e IPv6.

5. Comando ss como reemplazo de netstat

  • Función: ss es más rápido y ofrece información más detallada que netstat.
  • Ejemplos básicos con ss:
    • Listar conexiones de escucha para TCP:
      • oss -lt
    • Listar conexiones UDP activas:
      • ss -ua

6. Comparación de netstat y ss

  • ss es más rápido porque obtiene información directamente desde el espacio de usuario del kernel, mientras que netstat accede al sistema de archivos /proc/net.

Conclusión

  • netstat es esencial para monitorear la red y realizar diagnósticos básicos y avanzados en conexiones y puertos de red.
  • Alternativa ss: Ofrece mayor rendimiento y detalles, y es especialmente útil en sistemas Linux modernos.

Pon en práctica lo aprendido

Ahora pon a prueba lo aprendido con estas preguntas y ejercicios.

Preguntas sobre el comando netstat

  1. ¿Cuál es el propósito principal del comando netstat en Linux?
  2. ¿Qué información se puede obtener de la columna «Proto» en la salida de netstat?
  3. ¿Qué opción se usa en netstat para mostrar solo conexiones de escucha?
  4. ¿Cuál es la diferencia entre las opciones -a, -t y -u en netstat?
  5. ¿Cómo deshabilitar la búsqueda DNS inversa para obtener una salida más rápida en netstat?
  6. ¿Cómo se puede listar las conexiones TCP activas junto con el PID y el nombre del proceso?
  7. ¿Cuál es la función de la opción -r en netstat?
  8. ¿Qué opción se usa para mostrar las estadísticas de red, como el número de paquetes transmitidos y recibidos?
  9. ¿Cuál es el comando que reemplaza a netstat y se considera más rápido?
  10. ¿Cómo mostrar la información del grupo de multidifusión usando netstat?

Ejercicios de práctica con el comando netstat

  1. Mostrar todas las conexiones: Ejecuta un comando netstat para mostrar todas las conexiones activas y en escucha.
  2. Mostrar conexiones TCP únicamente: Ejecuta netstat para listar solo las conexiones TCP.
  3. Mostrar conexiones UDP únicamente: Utiliza netstat para listar solo las conexiones UDP.
  4. Deshabilitar la búsqueda DNS inversa: Ejecuta un comando netstat que muestre todas las conexiones TCP sin realizar la búsqueda DNS.
  5. Listar conexiones de escucha: Utiliza netstat para mostrar solo las conexiones de escucha (listening).
  6. Mostrar PIDs de las conexiones: Ejecuta netstat con privilegios sudo para mostrar el PID y el nombre del proceso de cada conexión.
  7. Mostrar estadísticas de red: Usa netstat para ver el resumen de estadísticas de cada protocolo de red.
  8. Mostrar información de enrutamiento: Ejecuta netstat para visualizar la información de la tabla de enrutamiento.
  9. Visualizar interfaces de red: Muestra información detallada sobre las interfaces de red usando netstat.
  10. Ejecutar netstat de forma continua: Utiliza netstat para mostrar de manera continua todas las conexiones TCP activas.

Respuestas a las Preguntas

  1. Propósito principal de netstat: Mostrar información sobre conexiones de red, sockets abiertos, tablas de enrutamiento y estadísticas de protocolo.
  2. Columna «Proto»: Indica el protocolo de la conexión, que puede ser TCP o UDP.
  3. Mostrar solo conexiones de escucha: Utilizar la opción -l.
  4. Diferencias entre -a, -t, y -u:
    • -a muestra todas las conexiones.
    • -t muestra solo conexiones TCP.
    • -u muestra solo conexiones UDP.
  5. Deshabilitar búsqueda DNS inversa: Utilizar la opción -n.
  6. Listar conexiones TCP con PID y proceso: Ejecutar netstat -nlpt con privilegios sudo.
  7. Función de la opción -r: Muestra la tabla de enrutamiento del sistema.
  8. Mostrar estadísticas de red: Utilizar la opción -s.
  9. Comando que reemplaza a netstat: El comando ss.
  10. Mostrar información del grupo de multidifusión: Usar la opción -g.

Respuestas a los Ejercicios

  1. Mostrar todas las conexiones:
    • netstat -a
  2. Mostrar conexiones TCP únicamente:
    • netstat -at
  3. Mostrar conexiones UDP únicamente:
    • netstat -au
  4. Deshabilitar búsqueda DNS inversa:
    • netstat -ant
  5. Listar conexiones de escucha:
    • netstat -l
  6. Mostrar PIDs de las conexiones:
    • sudo netstat -nlpt
  7. Mostrar estadísticas de red:
    • netstat -s
  8. Mostrar información de enrutamiento:
    • netstat -r
  9. Visualizar interfaces de red:
    • netstat -i
  10. Ejecutar netstat de forma continua:
    • netstat -ct

Estos ejercicios y preguntas te ayudarán a comprender y utilizar el comando netstat en diversas situaciones de diagnóstico y administración de redes.

No te detengas, sigue avanzando

Aquí tienes un propósito que debes considerar seriamente: si has querido mejorar tus habilidades en hacking, Ciberseguridad y programación ahora es definitivamente el momento de dar el siguiente paso. ¡Desarrolla tus habilidades aprovechando nuestros cursos a un precio increíble y avanza en tu carrera! El mundo necesita más hackers…

¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?

Sobre los autores

Álvaro Chirou

Yo soy Álvaro Chirou, tengo más de 20 Años de experiencia trabajando en Tecnología, eh dado disertaciones en eventos internacionales como OWASP, tengo más de 1.800.000 estudiantes en Udemy y 100 formaciones profesionales impartidas en la misma. Puedes seguirme en mis redes:

Laprovittera Carlos

Soy Laprovittera Carlos. Con más de 20 años de experiencia en IT brindo Educación y Consultoría en Seguridad de la Información para profesionales, bancos y empresas. Puedes saber más de mi y de mis servicios en mi sitio web: laprovittera.com y seguirme en mis redes:

Hacker de 0 a 100 desde las bases hasta conseguir empleo

¿Quieres iniciarte en hacking y ciberseguridad pero no sabes por dónde empezar? Inicia leyendo nuestra guia gratuita: https://achirou.com/hacker-de-0-a-100-desde-las-bases-hasta-conseguir-empleo/ que te lleva de 0 a 100. Desde los fundamentos más básicos, pasando por cursos, recursos y certificaciones hasta cómo obtener tu primer empleo.

Hemos creado una ruta de 0 a 100. Un plan de desarrollo que va desde las bases: cómo aprender hacking, qué aprender, en qué orden; pasando por las areas técnicas necesarias como Linux, Redes, Programación y los conocimientos necesarios en ciber seguridad, hacking, pentesting hasta la práctica y el inicio laboral: Crear tu propio laboratorio, certificaciones, adquirir experiencia e iniciarse laboralmente.

Este es un mega post. Una guía con más de 250 artículos que te llevaran por el camino del hacker. Esta guía es gratuita y esta creada gracias al esfuerzo y al trabajo combinado de Alvaro Chirou y mío (Laprovittera Carlos).

Creamos esta guía (futuro curso) para que puedas iniciarte en este mundo. Puedes arrancar ahora, GRATIS, solo necesitas un PC, conexión a internet y paciencia (Ser hacker NO ES un camino de la noche a la mañana).

El Hacking y la ciberseguridad es una carrera divertida, emocionante y gratificante que te recompensará y desafiará por igual. Sin embargo, para quienes buscan adentrarse en este campo en auge y en constante evolución, puede resultar difícil saber por dónde empezar. ¡Ahí es donde entra en juego nuestra guía en ciberseguridad!

Esta es la hoja de ruta hacia el trabajo de ciberseguridad de tus sueños. Te ayudará a entender qué conocimientos, habilidades y certificados son necesarios para alcanzar tus metas profesionales y tener una carrera próspera. Si quieres ser consultor de ciberseguridad, analista de malware, evaluador de penetración, analista de SOC o cualquier otro puesto de ciberseguridad, esta guía es lo que necesitas.

SIGUE APRENDIENDO GRATIS CON NUESTRAS GUIAS

Aprende con nuestros más de 100 cursos que tenemos disponibles para vos

Compartimos estos recursos para ayudar a la comunidad de hacking y ciberseguridad. COMPARTE y Siéntete libre de agregar más sugerencias en los comentarios a continuación, respondemos todos y cada uno de los comentarios.

Saludos amigos y happy hacking!!!