Bienvenidos a esta Guía Rápida de Linux para Hackers #18 Comandos de Red. 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.

Índice

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

Lista de lo que aprenderás en este artículo

  1. Conceptos básicos sobre redes en Linux y su importancia para la administración de sistemas.
  2. Uso de comandos esenciales para gestionar y solucionar problemas de redes.
  3. Manejo de configuraciones de red con comandos como ifconfig e ip.
  4. Supervisión de conexiones y tráfico de red con netstat, ss e iftop.
  5. Comprobación de conectividad y resolución de problemas de red con ping, traceroute, y tracepath.
  6. Configuración y diagnóstico de DNS mediante dig, nslookup y host.
  7. Manipulación de tablas de enrutamiento usando route e inspección de rutas IP.
  8. Uso de herramientas avanzadas como mtr, tcpdump y ethtool para análisis detallado de la red.
  9. Aplicación de herramientas de descarga y gestión de archivos en red como curl y wget.
  10. Obtención de información sobre dominios con whois.

Comandos de red de Linux

Cada computadora está conectada a otra computadora a través de una red, ya sea interna o externa, para intercambiar información. Esta red puede ser pequeña, como algunas computadoras conectadas en su hogar u oficina, o puede ser grande o compleja, como una gran universidad o Internet en su totalidad.

El mantenimiento de la red de un sistema es una tarea del administrador de sistemas/redes. Su tarea incluye la configuración de la red y la resolución de problemas.

A continuación se muestra una lista de comandos de redes y solución de problemas:

ifconfigMostrar y manipular rutas e interfaces de red.
ipEs un reemplazo del comando ifconfig.
tracerouteUtilidad de resolución de problemas de red.
tracepathSimilar a traceroute pero no requiere privilegios de root.
pingPara comprobar la conectividad entre dos nodos.
netstatMostrar información de conexión.
ssEs un reemplazo de netstat.
digConsultar información relacionada con DNS.
nslookupEncuentra consultas relacionadas con DNS.
routeMuestra y manipula la tabla de enrutamiento IP.
hostRealiza búsquedas de DNS.
arpVer o agregar contenido de la tabla ARP del kernel.
iwconfigSe utiliza para configurar la interfaz de red inalámbrica.
hostnamePara identificar un nombre de red.
Curl or wgetPara descargar un archivo de internet.
mtrCombina ping y tracepath en un solo comando.
whoisLe informará sobre el whois del sitio web.
ifplugstatusIndica si un cable está enchufado o no.

ifconfig: 

ifconfig es la abreviatura de configurador de interfaz. Este comando se utiliza en la inspección de red, inicializando la interfaz, habilitando o deshabilitando una dirección IP y configurando una interfaz con una dirección IP. También se utiliza para mostrar la interfaz de red y ruta.

Los detalles básicos que se muestran con ifconfig son:

  • Unidad de medida máxima
  • Dirección MAC
  • Dirección IP

Sintaxis:

ifconfig

Uso  del comando ifconfig

El ifconfig (Interface Configuration) es una utilidad de un sistema operativo que se utiliza para configurar o mostrar la dirección IP y la máscara de red de una interfaz de red. También proporciona comandos para habilitar o deshabilitar una interfaz. Muchos sistemas operativos tipo UNIX inicializan sus interfaces de red mediante ifconfig en el momento del arranque. ifconfig también se utiliza para ver la MTU (unidad máxima de transmisión). 

ifconfig

ip

Es la última edición actualizada del comando ifconfig. El comando proporciona información de cada red, como ifconfig. También se puede utilizar para obtener información sobre una interfaz en particular.

Sintaxis:

ip 

traceroute:

el comando traceroute es uno de los comandos más útiles en el campo de las redes. Se utiliza para equilibrar la red. Identifica el retraso y decide la ruta hacia nuestro objetivo. Básicamente, ayuda de las siguientes maneras:

  • Determina la ubicación de la latencia de la red y la informa.
  • Sigue el camino hasta el destino.
  • Proporciona los nombres y reconoce todos los dispositivos en la ruta.

Sintaxis:

traceroute dominio

Uso del comando traceroute

El comando traceroute se utiliza para obtener la ruta de un paquete. En otras palabras, el comando traceroute se utiliza para determinar la ruta que recorre un paquete. También devuelve el número de saltos que realiza el paquete para llegar al destino. Este comando imprime en la consola una lista de hosts por los que viaja el paquete para llegar al destino. 

traceroute google.com

tracepath

El comando tracepath es el mismo que el comando traceroute, y se utiliza para encontrar retrasos en la red. Además, no necesita privilegios root. Por defecto, viene preinstalado en Ubuntu. Rastrea la ruta hasta el destino y reconoce todos los saltos en ella. Identifica el punto en el que la red es débil si nuestra red no es lo suficientemente fuerte.

Sintaxis:

tracepath google.com

Uso del comando Ping (Packet Internet Groper)

El comando ping se utiliza para garantizar que una computadora pueda comunicarse con un dispositivo específico a través de la red. El comando pings envía mensajes de solicitud de eco del Protocolo de mensajes de control de Internet (ICMP) en forma de paquetes a la computadora de destino y espera hasta recibir la respuesta. Una vez que la computadora de destino recibe los paquetes, comienza a enviarlos de vuelta. Este comando continúa ejecutándose hasta que se interrumpe. 

El comando ping proporciona detalles como 

  • el número de paquetes transmitidos.
  • el número de paquetes recibidos.
  • El paquete tarda un tiempo en regresar.

El comando ping se utiliza generalmente para los siguientes propósitos:

  • midiendo el tiempo que tardan los paquetes en regresar para determinar la velocidad de la conexión.
  • para asegurarse de que se pueda establecer la conexión de red entre el host y la computadora de destino.
ping google.com

netstat: 

es la abreviatura de estadísticas de red. Proporciona cifras estadísticas de muchas interfaces, que contienen sockets abiertos, información de conexión y tablas de enrutamiento.

Sintaxis:

netstat

Uso del comando netstat

El comando netstat (Network Statistics) se utiliza para visualizar tablas de enrutamiento, información de conexión, estado de los puertos, etc. Este comando funciona con el subsistema de red de Linux. Básicamente, muestra el contenido del archivo /proc/net definido en el sistema de archivos de Linux. 

netstat-r

ss: 

este comando sustituye al comando netstat. El comando ss es más informativo y mucho más rápido que netstat. La respuesta más rápida del comando ss es posible porque obtiene toda la información desde el interior del espacio de usuario del núcleo.

Sintaxis

ss

nsloopup: 

el comando nslookup es una versión anterior del comando dig. También se utiliza para problemas relacionados con DNS.

Sintaxis:

nslookup <nombre de dominio>  

Uso del comando nslookup

nslookup achirou.com

dig

dig es la abreviatura de Domain Information Groper. El comando dig es una versión improvisada del comando nslookup. Se utiliza en la búsqueda de DNS para reservar el servidor de nombres DNS. También se utiliza para equilibrar los problemas relacionados con el DNS. Principalmente, se utiliza para autorizar asignaciones de DNS, direcciones de host, registros MX y cualquier otro registro DNS para la mejor comprensión de la topografía de DNS.

Sintaxis:

dig  <nombre de dominio>  

Uso del comando Dig

El comando Dig se denomina buscador de información de dominios; es una herramienta que se utiliza para buscar información de consultas relacionada con nombres de dominio y solucionar problemas de DNS en Linux. Esta herramienta puede proporcionar varios tipos de registros DNS, como registros CNAME, MX y otros. 

Por ejemplo: si queremos consultar un registro de “google.com”

Sintaxis:

dig a achirou.com

Esto mostrará la dirección IP asociada con el nombre de dominio.

route

el comando route muestra y utiliza la tabla de enrutamiento disponible para nuestro sistema. Básicamente, se utiliza un enrutador para detectar una mejor manera de transferir los paquetes a un destino.

Uso del comando Route

La herramienta Route Command nos ayuda a visualizar y manipular la tabla de enrutamiento en Linux. La información que contiene trata sobre cómo se deben enrutar los paquetes de red a través de una red.

Sintaxis:

route

Este comando muestra destino, máscara, indicadores, métrica, puerta de enlace, recuento de referencias e interfaz. También podemos agregar o eliminar rutas de una red con dirección IP.

host: 

el comando host muestra la dirección IP de un nombre de host y el nombre de dominio de una dirección IP. También se utiliza para obtener consultas DNS para problemas relacionados con DNS.

Sintaxis:

host -t <nombreRecurso>  

Uso del comando host

El comando host se utiliza para buscar un nombre de dominio asociado a la dirección IP o para buscar una dirección IP asociada al nombre de dominio. La dirección IP devuelta es IPv4 o IPv6. 

host achirou.com

arp: 

el comando arp es la abreviatura de Address Resolution Protocol (Protocolo de resolución de direcciones). Este comando se utiliza para ver e incluir contenido en la tabla ARP del núcleo.

Sintaxis:

arp

 Uso del comando Arp

El comando ARP (Address Resolution Protocol) se utiliza para visualizar y modificar la caché ARP, que contiene la asignación de direcciones IP a direcciones MAC. La pila TCP/IP del sistema utiliza ARP para determinar la dirección MAC asociada a una dirección IP. 

arp -e

iwconfig: 

es un comando simple que se utiliza para ver y configurar el nombre de host del sistema.

Sintaxis:

iwconfig -wireless extensions-

curl y wget: 

estos comandos se utilizan para descargar archivos desde CLI desde Internet. curl debe especificarse con la opción “O” para obtener el archivo, mientras que wget se usa directamente.

Sintaxis del rizo:

curl -O <Enlace de archivo>  

Sintaxis de wget:

wget <Enlace de archivo>  

mtr

 El comando mtr es una combinación de los comandos traceroute y ping. Muestra regularmente información relacionada con los paquetes transferidos utilizando el tiempo de ping de todos los saltos. También se utiliza para detectar problemas de red.

Sintaxis:

mtr achirou.com

whois: 

el comando whois recupera toda la información relacionada con el sitio web. Podemos obtener toda la información de un sitio web, como el propietario y la información de registro.

Sintaxis:

whois <nombredelsitioweb>  

iftop:

 El comando iftop se utiliza en la monitorización del tráfico.

tcpdump: 

El comando tcpdump se utiliza ampliamente en el análisis de redes junto con otros comandos de la red Linux. Analiza el tráfico que pasa por la interfaz de red y lo muestra. Al equilibrar la red, este tipo de acceso a paquetes será crucial.

Sintaxis:

tcpdump -i <dispositivo de red>  

Uso del comando Ethtool

Ethtool se utiliza para ver y modificar la configuración de una tarjeta de interfaz de red (NIC) en Linux. Ha reemplazado a la antigua herramienta llamada mii-tool. Este comando se puede utilizar para ver la velocidad actual y la configuración dúplex de la NIC. Para ver la configuración de la NIC llamada “enp0s3”, utilice el siguiente comando.

Sintaxis:

ethtool eth0

Puede encontrar el nombre de su NIC utilizando el comando “ifconfig”.

Ifconfig de Linux

El comando ifconfig significa configurador de interfaz. Este comando nos permite inicializar una interfaz, asignar una dirección IP, habilitar o deshabilitar una interfaz. Muestra la ruta y la interfaz de red.

Puede ver la dirección IP, la dirección MAC y la MTU (unidad máxima de transmisión) con el comando ifconfig.

Una versión más nueva de ifconfig es el comando ip. El comando ifconfig funciona para todas las versiones.

Sintaxis:

ifconfig

Mire la instantánea de arriba, muestra la dirección IP de los tres, es decir, eth, lo y wlan.

Obtener detalles de una interfaz específica

Para encontrar la dirección IP de los tres de forma diferente, utilice el comando

  1. ifconfig eth0  
  2. ifconfig lo  
  3. ifconfigwlan0  

Asignar IP y Gateway

Puedes asignar una IP y una Gateway a una interfaz pero estas configuraciones se perderan al reiniciar el sistema.

Syntasis:

ifconfig eth0 <address> netmask <address>  

Habilitar o deshabilitar una intefaz

Para habilitar:

ifup eth0  

para deshabilitar:

ifdown eth0  

Setting MTU size

Por defecto MTU (Maximum Transmission Unit) es de 1500, pero peudes cambiarlo.

Ifconfig eth0 mtu xxxx  

Remplace xxxx con el tamaño.  

Este comando tiene más opciones que puedes explorar

ifconfig --help

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

 man ifconfig

Tras este resumen veamos algunos de ellos con mas detalle

Comando IP de Linux

El comando IP de Linux es la versión más nueva del comando ifconfig . Es una herramienta útil para configurar las interfaces de red para los administradores de Linux . Se puede utilizar para asignar y eliminar direcciones, activar o desactivar las interfaces y realizar muchas otras tareas útiles.

Sintaxis:

La sintaxis básica del comando IP es la siguiente:

IP xxx.xxx.xxx.xxx

Opciones del comando IP :

El comando IP admite las siguientes opciones de línea de comandos:

-V o -Version: Se utiliza para mostrar la versión del comando IP.

-h, -human, -human-readable: se utiliza para mostrar las estadísticas en forma de valores legibles por humanos.

-b, -batch <FILENAME>: se utiliza para leer e invocar comandos desde el archivo o la entrada indicados. La falla puede provocar la finalización de la utilidad IP . La opción ‘-force’ no permitirá que la IP finalice en caso de errores en el modo por lotes. Si hubiera algún error durante la ejecución, el código de retorno sería distinto de cero.

-s, -stats, -statistics: Se utiliza para mostrar más información como estadísticas o valores de tiempo.

-d, -details: se utiliza para mostrar la salida detallada.

-l, -loops <COUNT>: Se utiliza para especificar un número máximo de bucles.

-f, -family <FAMILIA>: se utiliza para determinar la familia de protocolos. Estos identificadores de familia de protocolos pueden ser inet, inet6, bridge, ipx, dnet, mpls o link. Se utilizan los siguientes atajos para la familia de protocolos:

  • -4: se utiliza para la familia inet.
  • -6: Se utiliza para la familia inet6.
  • -B: Se utiliza para la familia puente.
  • -D: Se utiliza para la familia decnet.
  • -I: Se utiliza para la familia ipx.
  • -M: Se utiliza para la familia mpls.
  • -0: Se utiliza para la familia de enlaces.

-o, -oneline: se utiliza para mostrar cada registro en una sola línea. Reemplaza los campos de línea con el carácter de barra invertida ‘\’. Es útil para contar registros con los comandos wc y grep.

-r, -resolve: se especifica cuando queremos utilizar el solucionador de nombres del sistema para imprimir nombres DNS en lugar de direcciones de host.

-n, -netns <NETNS>: Se utiliza para cambiar la IP a NETNS (espacios de nombres de red) especificados.

-a o -all: se utiliza para ejecutar el comando dado sobre todos los objetos.

-c, -color: Se utiliza para mostrar la salida en color.

-t, -timestamp: Se utiliza para mostrar la hora actual.

-ts, -tshort: es bastante similar a la opción ‘timestamp’, pero utiliza un formato más corto.

-rc, -rcvbuf<SIZE>: se utiliza para configurar el socket Netlink para recibir el tamaño del búfer, el valor predeterminado es 1 MB.

-iec: se utiliza para mostrar las tasas legibles por humanos en unidades IEC (por ejemplo, 1 Ki = 1024).

-br,-brief: Se utiliza para mostrar sólo información esencial en formato tabular para una mejor legibilidad.

IP útil – SINTAXIS DE COMANDOS

En la siguiente tabla se proporciona una sintaxis de comando útil del comando IP.

ObjectoUso
addressSe utiliza para la dirección de protocolo (IP o IPv6) en un dispositivo.
addrlabelSe utiliza para etiquetar la configuración para la selección de la dirección del protocolo.
l2tpSe utiliza para el túnel Ethernet sobre IP (L2TPv3).
linkSe utiliza para conectar en red un dispositivo.
maddressSe utiliza para realizar multidifusión de una dirección.
monitorSe utiliza para ver mensajes de Netlink.
mrouteSe utiliza para la entrada de caché de enrutamiento de multidifusión.
mruleSe utiliza para gobernar en la base de datos de políticas de enrutamiento de multidifusión.
neighbourSe utiliza para administrar entradas de caché ARP o NDISC.
netnsSe utiliza para administrar espacios de nombres de red.
ntableSe utiliza para gestionar el funcionamiento del caché vecino.
routeSe utiliza para la entrada de la tabla de enrutamiento.
ruleSe utiliza para gobernar en la base de datos de políticas de enrutamiento.
tcp_metrics/tcpmetricsSe utiliza para administrar métricas TCP.
tokenSe utiliza para administrar los identificadores de interfaz tokenizados.
tunnelSe utiliza para túnel sobre IP.
tuntapSe utiliza para administrar dispositivos TUN/TAP.

El nombre del objeto también se puede escribir de forma abreviada. Por ejemplo, el objeto de dirección se puede escribir como addr o simplemente a.

¿Cómo funciona el comando IP?

El comando IP administra la forma en que un sistema Linux maneja las direcciones IP, los controladores de interfaces de red y más. Los cambios realizados a través del comando IP surten efecto de inmediato en el sistema; no es necesario reiniciarlo.

El comando IP tiene muchas otras aplicaciones. Tiene muchos subcomandos; cada comando funciona en un objeto específico, como rutas y direcciones IP. Proporciona una gran funcionalidad.

Los siguientes son algunos objetos útiles utilizados por el comando IP:

Dirección: Contiene direcciones IP y rangos.

Enlace: Contiene interfaces de red, como conexiones y adaptadores Wi-Fi .

Ruta: Contiene los protocolos que gestionan el enrutamiento del tráfico enviado a direcciones a través de interfaces (enlaces).

Uso del comando IP

Veamos el siguiente uso del comando IP:

  • Listado de direcciones IP
  • Mostrar las direcciones IPv4 e IPv6
  • Mostrar una única interfaz
  • Agregar una dirección IP a una interfaz
  • Eliminar una dirección IP
  • IP con interfaces de red
  • Iniciar o detener una interfaz de red
  • IP con rutas

Listado de direcciones IP

La utilidad esencial del comando IP es conocer la configuración y las direcciones de nuestro sistema. Para visualizar las direcciones IP de nuestro equipo, ejecute el comando IP con una dirección de la siguiente manera:

ip

El comando anterior mostrará la configuración y las direcciones de nuestro sistema. Sin embargo, también podemos utilizar uno de los siguientes comandos para obtener el mismo resultado:

  1. ip addres show
  2. ip addres

Todos los comandos anteriores producirán el mismo resultado. Considere el siguiente resultado:

En el resultado anterior, podemos ver dos direcciones IP y mucha otra información relacionada. Además, hay información adicional sobre las interfaces que se muestran. La primera dirección IP es la dirección IP interna, que se utiliza para comunicarse localmente. La segunda es la dirección IP externa que se utiliza en la LAN (red de área local).

Mostrar las direcciones IPv4 e IPv6

Si solo desea mostrar la dirección IPv4, ejecute el comando de la siguiente manera:

ip -4  addr

El comando anterior solo mostrará la dirección IP de la versión 4. Considere el siguiente resultado:

Para mostrar la dirección IPv6, ejecute el comando de la siguiente manera:

ip -6  addr

El comando anterior solo mostrará la dirección IP de la versión 6. Considere el siguiente resultado:

Mostrar una única interfaz

Para visualizar la información de una única interfaz, utilice la opción “show dev” con el nombre de la interfaz. Por ejemplo, para ver los detalles de la interfaz ‘wlp6s0’ , ejecute el siguiente comando:

ip addr show dev eth0

El comando anterior mostrará un resultado similar a esto:

También podemos utilizar los indicadores ‘-4’ y ‘-6’ para filtrar la salida y mostrar la información de Ipv4 e Ipv6 relacionada con la interfaz dada.

Agregar una dirección IP a una interfaz

Las opciones ‘add’ y ‘dev’ se utilizan para añadir una dirección IP a una interfaz. Tenemos que especificar la dirección IP y la interfaz que se va a añadir. Por ejemplo, añadir la dirección IP “192.168.7.22” a la interfaz ‘wlp6s0’. Para añadir esta dirección IP, ejecuta el siguiente comando:

sudo ip addr 10.0.2.32 dev eth0

El comando anterior agregará la dirección IP indicada a la interfaz especificada. Si se agrega correctamente, no producirá ningún resultado. Considere el siguiente resultado:

Para verificar la dirección IP agregada, ejecute el siguiente comando:

ip addr show dev eth0

Considere el siguiente resultado:

Del resultado anterior, podemos ver que la dirección IP dada se agrega a la interfaz especificada.

Eliminar una dirección IP

Eliminar una dirección IP es lo mismo que agregarla, excepto que debemos reemplazar la opción ‘add’ por ‘del’. Para eliminar una IP, ejecute el comando de la siguiente manera:

sudo ip addr del 172.17.0.1

El comando anterior eliminará la IP indicada de la interfaz ‘wlp6s0’. Considere el siguiente resultado:

IP con interfaces de red

Podemos utilizar el objeto de enlace para trabajar e inspeccionar las interfaces de red. Para visualizar la interfaz instalada en nuestro sistema, ejecute el siguiente comando:

IP link show

El comando anterior mostrará la interfaz instalada en nuestra máquina. Considere el siguiente resultado:

Iniciar o detener una interfaz de red

La opción ‘set’ con argumentos up y down se utiliza para iniciar y detener una interfaz de red. Considere el siguiente comando:

sudo ip link set docker0 down  

El comando anterior desactivará la interfaz ‘docker0’. Para visualizar el estado de la interfaz. Considere el siguiente resultado:

Para iniciar la interfaz, ejecute el siguiente comando:

sudo ip link set docker up  

El comando anterior iniciará la interfaz indicada. Observe el resultado siguiente:

IP route

El objeto raíz se utiliza para inspeccionar y manipular rutas. Una ruta define el proceso de reenvío del tráfico de red y la interfaz de red aplicada. En el caso de una red compartida, el dispositivo de envío puede reenviar el paquete directamente. Sin embargo, si el dispositivo de destino no está conectado directamente, el dispositivo de envío envía el paquete al enrutador predeterminado. En esta condición, el enrutador se ocupa de los paquetes.

Para mostrar las rutas definidas de nuestro sistema, ejecute el siguiente comando:

ip route

Este comando tiene más opciones que puedes explorar

ip --help

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

 man ip

Comando ping de Linux

El comando ping de Linux significa (Packet Internet Groper). Comprueba la conectividad entre dos nodos para ver si hay un servidor disponible. Envía paquetes ICMP ECHO_REQUEST a los hosts de la red y muestra los datos de la respuesta del servidor remoto. Comprueba si un host remoto está activo o si se puede acceder a las interfaces de red. Además, se utiliza para comprobar si hay una conexión de red disponible entre dos dispositivos. También es una herramienta útil para comprobar la conexión de red y verificar problemas de red.

El comando ping continúa ejecutándose y envía el paquete hasta que lo interrumpas.

Para detener la ejecución, presione las teclas ” CTRL + C”.

Sintaxis:

El comando ping admite varias opciones de línea de comandos, pero la sintaxis básica del comando ping es la siguiente:

ping <opción> <destino>  

Opciones de ping:

El comando ping admite las siguientes opciones de línea de comandos:

-4: Solía ​​utilizar sólo IPv4.

-6: Se utiliza para utilizar únicamente IPv6.

-a: Se utiliza para el ping audible.

-A: Se utiliza para un ping adaptativo.

-b: Se utiliza para hacer ping a una dirección de difusión.

-B: Se utiliza para no cambiar la dirección de origen de las sondas.

-c count: se utiliza para detenerse después de enviar count paquetes ECHO_REQUEST.

-d: Se utiliza para establecer la opción SO_DEBUG en el socket que se está utilizando.

-D: Se utiliza para imprimir la marca de tiempo antes de cada línea.

-f: Significa ping de inundación. Imprime un punto por cada ECHO_REQUEST enviado y retrocesos por cada ECHO_REPLY recibido.

-F Etiqueta de flujo: se utiliza solo para IPv6. Asigna una etiqueta de flujo de 20 bits (en hexadecimal) a los paquetes de solicitud de eco.

-h: Se utiliza para mostrar el manual de ayuda con una breve descripción del uso y opciones de soporte.

-i intervalo: se utiliza para especificar el intervalo de tiempo en segundos entre cada paquete. Por defecto, se establece en uno.

-I interfaz: Se utiliza para especificar la interfaz de origen.

-l preload: si se especifica preload, envía paquetes y no espera la respuesta. Solo el superusuario (usuario con privilegio sudo) tiene derecho a seleccionar preload más de.

-L: Se utiliza para bloquear el bucle de retorno de los paquetes de multidifusión. Es útil para direcciones de destino de multidifusión.

-m mark: se utiliza para etiquetar los paquetes salientes. Es útil para seleccionar políticas de enrutamiento en el procesamiento de salida.

-M pmtudisc_opt: Se utiliza para seleccionar la estrategia de descubrimiento de MTU de ruta.

-N nodeinfo_option: Se utiliza únicamente para IPv6.

-n: Se utiliza para mostrar la salida numérica.

-O: Se utiliza para informar sobre una respuesta ICMP ECHO pendiente antes de enviar el siguiente paquete.

-p patrón: Nos permite especificar hasta 16 bytes de relleno para rellenar los paquetes enviados. Es útil para determinar los “problemas dependientes de los datos en una red”.

-q: Se utiliza para silenciar desde la terminal.

-Q tos: Se utiliza para establecer la calidad de los bits relacionados con el servicio en los datagramas ICMP.

-r: se utiliza para omitir las tablas de enrutamiento normales. Además, lo envía directamente a un host en una interfaz adjunta.

-R: Se utiliza para registrar la ruta.

-s tamaño del paquete: se utiliza para determinar la cantidad de bytes de datos que se enviarán. Por defecto, se envían 56 bytes.

-S sndbuf: se utiliza para configurar el sndbuf del socket. Si no se especifica, el buffer no seleccionará más de un paquete.

-t ttl: Se utiliza solo para ping, establece el tiempo de vida de la IP.

Opción de marca de tiempo -T: 

se utiliza para establecer opciones de marca de tiempo de IP especiales, como tsonly, tsandaddr o tsprespec host1 [host2 [host3 [host4]]].

-U: se utiliza para mostrar la latencia total de usuario a usuario. Generalmente, el comando ping muestra el tiempo de ida y vuelta de la red.

-v: imprime la salida más detallada.

-V: Se utiliza para mostrar información de la versión.

-w fecha límite: se utiliza para especificar un tiempo de espera, en segundos, antes de que salga el comando ping.

-W timeout: se utiliza para especificar el tiempo de espera para una respuesta en segundos.

Ejemplos del comando ping

Veamos los siguientes ejemplos del comando ping:

  • Hacer ping usando DNS
  • Hacer ping usando la dirección IP
  • Limitar los paquetes
  • Comprobar si un host remoto está activo
  • Comprobar la conectividad IPv4
  • Comprobar la conectividad IPv6
  • Añade una marca de tiempo antes de cada línea
  • Especificar la interfaz de origen
  • Cambiar el intervalo de tiempo entre paquetes de ping

Hacer ping usando DNS

Para comprobar la conectividad mediante DNS, ejecute el siguiente comando:

ping <destino>  

Considere el siguiente comando:

ping achirou.com

El comando anterior hará ping a ‘achirou.com’. Considere el siguiente resultado:

Para finalizar ctrl+c

Hacer ping usando la dirección IP

Podemos utilizar la dirección IP en lugar del DNS con un comando ping. Para utilizar la dirección IP para hacer ping a un destino, ejecute el comando de la siguiente manera:

ping <IP o dominio>  

Considere el siguiente comando:

ping 1.2.3.4    

El comando anterior comprobará la conectividad con la dirección IP indicada . Observe el siguiente resultado:

Limitar los paquetes

Podemos limitar la cantidad de paquetes enviados mediante el comando ping. Para limitar el paquete, especifique la opción ‘c’ seguida de la cantidad de paquetes que se enviarán. Se ejecutará de la siguiente manera:

ping -c <número> <destino>    

Considere el siguiente comando:

ping -c 5 achirou.com   

El comando anterior limitará los paquetes a 5. Considere el siguiente resultado:

Comprueba si un host remoto está activo.

Para comprobar si un host remoto está activo, ejecute el comando ping, seguido del nombre de host o la dirección IP del servidor remoto. Considere el siguiente comando:

ping -c 5 217.21.68.35

El comando anterior comprobará la conectividad con ‘217.21.68.35’. Observe el siguiente resultado:

A partir de la salida anterior, el comando seguirá ejecutándose; podemos interrumpirlo manualmente presionando las teclas CTRL+C .

Comprobar la conectividad IPv4

La opción ‘-4’ se utiliza para la interfaz IPv4. Para comprobar si la interfaz IPv4 está activa, ejecute el siguiente comando:

ping-4 achirou.com

El comando anterior mostrará la conectividad con ‘achirou.com’ mediante la dirección IPv4. Considere el siguiente resultado:

Añade una marca de tiempo antes de cada línea.

La opción ‘-D’ se utiliza para agregar una marca de tiempo antes de cada línea. Para agregar una marca de tiempo antes de cada línea, ejecute el comando de la siguiente manera:

ping -D achirou.com

El comando anterior agregará una marca de tiempo UNIX al comienzo de cada línea. Considere el siguiente resultado:

Especificar la interfaz de origen

De manera predeterminada, el comando ping utiliza la ruta predeterminada para enviar paquetes ICMP. Para especificar una interfaz de origen en particular, utilice la opción ‘-I’ de la siguiente manera:

ping -I <NOMBRE DE LA INTERFAZ> <DESTINO>  

Considere el siguiente comando:

ping -I eth0 achirou.com

El comando anterior hará ping a achirou.com utilizando ‘enp7s0’ como interfaz de origen. Considere el siguiente resultado:

Cambiar el intervalo de tiempo entre paquetes de ping

Por defecto, el intervalo de tiempo entre los paquetes de ping es de un segundo. Podemos configurarlo según nuestras necesidades. La opción ‘-i’ se utiliza para configurar el intervalo de tiempo entre cada solicitud de ping. Para configurar el intervalo de ping, ejecute el comando de la siguiente manera:

ping -i <tiempo> <destino>  

Considere el siguiente comando:

ping -i 1.5 achirou.com

El comando anterior solicitará los paquetes de ping cada ‘1,5’ segundos. Considere el siguiente resultado:

Del resultado anterior, podemos ver que el tiempo de transmisión de 8 paquetes es 1050 s.

Nslookup de Linux

Este comando también se utiliza para encontrar consultas relacionadas con DNS.

Sintaxis:

nslookup <nombre de dominio>  

Ejemplo:

nslookup achirou.com

Resumen de conceptos clave y uso del comando ping

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  

Comando traceroute de Linux

El comando traceroute de Linux es una utilidad de resolución de problemas de red que nos ayuda a determinar la cantidad de saltos y paquetes que recorren la ruta necesaria para llegar a un destino. Se utiliza para mostrar cómo se transmiten los datos desde una máquina local a una máquina remota.

La carga de una página web es uno de los ejemplos comunes de traceroute. La carga de una página web transfiere datos a través de una red y enrutadores. El traceroute puede mostrar las rutas, las direcciones IP y los nombres de host de los enrutadores en una red. Puede ser útil para diagnosticar problemas de red.

En informática, tracert y traceroute son los comandos que se utilizan para el diagnóstico de redes informáticas, con el fin de mostrar las posibles rutas y medir los retrasos en el tránsito de paquetes a través de la red IP. El historial de rutas se registra como el tiempo de ida y vuelta de los paquetes desde todos los hosts sucesivos en la ruta; la suma del tiempo medio en cada salto es la medida del tiempo total empleado para crear la conexión.

El comando traceroute continúa a menos que cada paquete enviado se pierda más de dos veces; la conexión se pierde y la ruta no se puede evaluar. Por otro lado, el comando ping solo mide los últimos tiempos de ida y vuelta a través del punto de destino. A veces, la herramienta tiene un nombre similar, tracert6 y traceroute6, para IPv6.

Sintaxis:

traceroute [OPCIÓN...] HOST  

Opciones del comando traceroute:

El comando traceroute admite las siguientes opciones de línea de comandos:

-f, –first-hop=NUM: Se utiliza para establecer la distancia del salto inicial.

-g, –gateways=GATES: Se utiliza para mostrar una lista de puertas de enlace para enrutamiento de origen suelto.

-I, –icmp: Se especifica para utilizar ICMP ECHO como sonda.

-m, –max-hop=NUM: Se utiliza para establecer el número máximo de saltos, el valor predeterminado es 64.

-M, –type=METHOD: Especifica el MÉTODO (icmp o udp) para las operaciones de traceroute, el método predeterminado es udp.

-p, –port=PUERTO: Se define para utilizar el puerto de destino, el PUERTO predeterminado es 33434.

-q, –tries=NUM: Se utiliza para reenviar NUM paquetes de sonda por salto, el valor predeterminado es 3.

–resolve-hostnames: Se utiliza para resolver los nombres de host.

-t, –tos=NUM: Se utiliza para establecer el tipo de servicio (TOS) a NUM.

-w, –wait=NUM: Se utiliza para esperar en segundos una respuesta, el valor predeterminado es 3.

-?, –help: Se utiliza para mostrar el manual de ayuda que contiene una breve descripción de las opciones de línea de comandos compatibles y su uso.

–usage: Muestra un breve mensaje de uso.

-V, –version: Se utiliza para mostrar la información de la versión del traceroute.

Echemos un vistazo al índice rápido del tema:

  • Instalar el comando traceroute
  • ¿Cómo funciona?
  • Rastrear la ruta usando Ipv6
  • Rastrear la ruta usando Ipv4
  • Deshabilitar la asignación de direcciones IP y nombres de host
  • Establecer el número de consultas por salto
  • Establecer el tiempo de espera de respuesta
  • Especifique la interfaz a utilizar
  • Establecer el valor TTL inicial
  • Establecer el número máximo de saltos
  • Obtener ayuda

Implementaciones de traceroute

El comando traceroute está disponible en varios sistemas operativos modernos. En sistemas tipo Unix, como Linux, macOS y FreeBSD, está disponible como herramienta para la línea de comandos. Además, traceroute es accesible gráficamente dentro de la suite Network Utilities en macOS; estas utilidades han quedado obsoletas desde la publicación de macOS Big Sur.

ReactOS y Microsoft Windows ofrecen un programa llamado tracert que implementa una función de rastreo de rutas similar. Además, los sistemas operativos basados ​​en Windows NT ofrecen PathPing, que puede combinar la funcionalidad del comando ping con tracert. La edición de ReactOS fue integrada por Get Murphy y tiene licencia GPL.

De forma predeterminada, traceroute envía un orden de paquetes UDP (Protocolo de datagramas de usuario) en sistemas operativos tipo Unix, con números de destino de puerto que van del 33434 al 33534. Las implementaciones de traceroute que se incluyen con macOS, DragonFly BSD, OpenBSD, NetBSD, FreeBSD y Linux tienen la opción de utilizar paquetes de solicitud de eco ICMP, como TCP y UDP, mediante paquetes ICMP o TCP SYN. ​​De forma predeterminada, tracert transfiere paquetes de solicitud de eco ICMP en Windows en lugar de las transferencias de traceroute de paquetes UDP.

Uso de traceroute

La mayoría de las implementaciones tienen al menos algunas opciones para definir la cantidad de consultas que se deben transferir por salto, el tiempo de espera para una respuesta, el límite de saltos y el puerto utilizado. Si no invocamos traceroute con las opciones especificadas, se muestra la lista de opciones disponibles, mientras que el comando man traceroute representa más detalles, como los indicadores de error.

Limitaciones de traceroute

Las limitaciones de traceroute son conocidas y deben tenerse en cuenta al utilizar la herramienta. Por ejemplo, un traceroute reconoce rutas a nivel de interfaz, pero no a nivel de ruta. Otras limitaciones ocurren cuando los enrutadores no responden al examen o cuando los enrutadores incluyen una restricción para las respuestas ICMP.

Traceroute puede representar una ruta que no existe en caso de equilibrio de carga de tráfico. Para minimizar este problema, existe una modificación de traceroute conocida como Paris-traceroute, que administra el identificador del flujo de examen para ignorar el equilibrio de carga.

Instalar el comando traceroute

Traceroute no es una utilidad predeterminada del sistema Linux . Para utilizar traceroute, debemos instalarlo manualmente. Para instalarlo, ejecute uno de los siguientes comandos:

sudo apt install inetutils-traceroute  
sudo apt install traceroute   

Los comandos anteriores instalarán la utilidad traceroute en nuestro sistema. Después de la instalación exitosa, el resultado será el siguiente:

¿Cómo funciona?

Para rastrear la ruta de un host de red conectado, pase el nombre del servidor o la dirección IP a la que desea conectarse. Por ejemplo, para rastrear la ruta del servidor ‘google’, ejecute el siguiente comando:

traceroute google.com  

El comando anterior mostrará los saltos, los paquetes y mucha otra información sobre la ruta indicada. Considere el siguiente resultado:

Del resultado anterior, podemos ver varias cosas. Entendamos cada parte del resultado:

  • La primera línea muestra el nombre de host y la dirección IP a la que se debe llegar, los saltos que se intentarán con el comando traceroute y el tamaño de los paquetes que se enviarán.
  • A partir de la segunda línea, cada línea muestra un salto al destino, el nombre del host seguido de la dirección IP del host y el tiempo de ida y vuelta. El tiempo de ida y vuelta es la suma del tiempo que tarda una señal en enviarse y el tiempo que tarda en responder al host.
  • De forma predeterminada, envía tres paquetes para cada host, por lo que se enumeran tres tiempos de respuesta.
  • El símbolo “*” representa la pérdida de paquetes. La pérdida de paquetes se produce debido a una interrupción de la red, una congestión de tráfico en la red o quizás el firewall está eliminando el tráfico. En caso de pérdida de paquetes, el traceroute mostrará el error “no se ha alcanzado el destino”.

-n: Deshabilitar la asignación de direcciones IP y nombres de host

La opción ‘n’ se utiliza para desactivar la asignación de direcciones IP y nombres de host. Considere el siguiente comando:

traceroute -n google.com  

El comando anterior producirá el siguiente resultado:

-q Establecer el número de consultas por salto

La opción ‘-q’ se utiliza para establecer la cantidad de consultas por salto. Considere el siguiente comando:

traceroute -q 2 google.com  

El comando anterior producirá el siguiente resultado:

-w Establecer el tiempo de espera de respuesta

La opción ‘-w’ se utiliza para establecer el tiempo de espera de respuesta en traceroute. Especificará el tiempo de espera en segundos para responder a una sonda. Considere el siguiente comando:

traceroute -w 1 google.com  

Del comando anterior, el tiempo de espera de respuesta es de 1 segundo. El resultado será el siguiente:

-i Especifique la interfaz a utilizar

La opción ‘i’ se utiliza para configurar la interfaz de red que debe utilizar traceroute. Si no está configurada, se configurará la interfaz según la tabla de enrutamiento. Considere el siguiente comando:

traceroute -i eth0 google.com  

El comando anterior producirá el siguiente resultado:

-f Establecer el valor TTL inicial

Podemos configurar el valor TTL (tiempo de vida) inicial de forma distinta al valor predeterminado. Se omitirán algunos saltos. Por lo general, se establece en uno, dos, tres, etc. para el conjunto respectivo de pruebas. Por lo tanto, si lo configuramos en siete, la primera prueba intentará el salto siete y omitirá los saltos del uno al seis. Considere el siguiente comando:

traceroute -f 7 google.com  

El comando anterior irá directamente al salto siete. Considere el siguiente resultado:

-m Establecer el número máximo de saltos

La opción ‘-m’ se utiliza para establecer la cantidad máxima de saltos que debe realizar el paquete para llegar a su destino. El valor predeterminado para la cantidad máxima de saltos es 30. Considere el siguiente comando:

traceroute -m 7 google.com  

El comando anterior establecerá un máximo de 7 saltos para que el paquete llegue al destino. Considere el siguiente resultado:

Obtener ayuda

Para mostrar el manual de ayuda que contiene un resumen del uso y las opciones admitidas, ejecute el siguiente comando:

traceroute --help

El comando anterior mostrará la ayuda y producirá el siguiente resultado:

También podemos acceder a las páginas del manual ejecutando el comando man de la siguiente manera:

man traceroute

El comando anterior mostrará la página del manual del comando traceroute. Tendrá el siguiente aspecto:

Desplácese por la página para leer más y presione la tecla ‘q’ para salir de la página del manual.

tracepah

Es similar al comando traceroute, pero no requiere privilegios de root. De manera predeterminada, está instalado en Ubuntu, pero es posible que deba descargar traceroute en Ubuntu. Rastrea la ruta de red del destino especificado e informa cada salto a lo largo de la ruta. Si tiene una red lenta, tracepath le mostrará dónde su red es débil.

Sintaxis:

tracepah <destino>  

Ejemplo:

tracepah google.com

Mire la instantánea de arriba, la ruta a google está siendo rastreada por el comando tracepath.

Este comando tiene más opciones que puedes explorar

tracepath --help

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

 man tracepaht

El comando Route

El comando de ruta muestra y manipula la tabla de enrutamiento IP de su sistema.

Un enrutador es un dispositivo que se utiliza básicamente para determinar la mejor manera de enrutar paquetes a un destino.

Sintaxis:

route

Mire la instantánea de arriba, muestra todas las entradas de la tabla de enrutamiento existentes en nuestro sistema.

Esto indica que si el destino se encuentra dentro del rango de red de 10.0.0.0 a 10.0.0.255, entonces la puerta de enlace es *, que es 0.0.0.0. Esta es una dirección especial que representa un destino no válido o inexistente.

Los paquetes que no estén dentro de este rango de IP se reenviarán a la puerta de enlace predeterminada, que enruta aún más el paquete.

Visualización de la dirección IP numérica

Este comando muestra la salida en forma numérica completa.

Sintaxis:

route -n  

Mire la instantánea de arriba, se muestra la dirección IP numérica.

Información de caché de enrutamiento

El núcleo mantiene una tabla de caché de enrutamiento para enrutar los paquetes más rápido. Para enumerar esta información, utilice el siguiente comando:

Sintaxis:

route -Cn  

Este comando tiene más opciones que puedes explorar

route --help

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

 man route

Puntos clave del artículo y su explicación

  1. ifconfig y ip: Configuración de interfaces de red
    • ifconfig: Configura direcciones IP, habilita/deshabilita interfaces y muestra detalles como dirección MAC y MTU.
    • ip: Versión mejorada de ifconfig, más moderna y con comandos adicionales como listar direcciones IPv4/IPv6 o manipular rutas. ip addr show dev eth0 # Mostrar detalles de una interfaz específica.
  2. Comprobación de conectividad con ping
    Envía paquetes ICMP para verificar la conexión entre dos nodos, midiendo latencia y posibles pérdidas.
    • Ejemplo: ping -c 5 google.com # Envía 5 paquetes.
  3. Diagnóstico de rutas con traceroute y tracepath
    • traceroute: Identifica cada salto hasta el destino y detecta problemas de latencia.
    • tracepath: Similar a traceroute, pero no requiere permisos de root. traceroute google.com tracepath google.com
  4. Resolución de DNS con dig, nslookup, y host
    • dig: Busca registros DNS y analiza problemas relacionados. dig google.com
    • nslookup: Herramienta más básica para consultas DNS. nslookup google.com
    • host: Consulta nombres de dominio y direcciones IP. host google.com
  5. Supervisión de conexiones con netstat y ss
    • netstat: Muestra sockets abiertos, rutas y estadísticas de red. netstat -a # Lista todas las conexiones activas.
    • ss: Alternativa moderna a netstat, más rápida y detallada. ss -lt # Lista puertos TCP en escucha.
  6. Gestión de tablas de enrutamiento con route
    Permite visualizar y manipular las rutas IP.
    • Ejemplo: route -n # Muestra la tabla de enrutamiento en formato numérico.
  7. Análisis de tráfico con tcpdump y iftop
    • tcpdump: Captura paquetes para análisis detallado. tcpdump -i eth0
    • iftop: Monitorea tráfico en tiempo real.
  8. Descarga de archivos con curl y wget
    • curl: Herramienta flexible para transferir datos en redes. curl -O http://example.com/archivo.txt
    • wget: Ideal para descargas simples y rápidas. wget http://example.com/archivo.txt
  9. Diagnóstico avanzado con mtr
    Combina ping y traceroute para un análisis continuo de la conectividad.
    • Ejemplo: mtr google.com
  10. Obtención de información de dominio con whois
    Proporciona detalles sobre el registro y propietario de un dominio. whois example.com

Este artículo cubre una amplia gama de comandos para la administración de redes, desde herramientas básicas hasta opciones avanzadas, lo que lo convierte en una referencia esencial para la resolución de problemas y optimización de redes en sistemas Linux.

Pon en práctica lo aprendido

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

Preguntas sobre comandos de red en Linux

  1. ¿Cuál es la diferencia entre ifconfig e ip y cuál es el más actualizado?
  2. ¿Para qué se utiliza el comando traceroute y cómo se diferencia de tracepath?
  3. ¿Qué información se puede obtener al usar el comando ping con la opción -c?
  4. Explica el propósito del comando netstat y menciona una de las alternativas modernas que lo reemplazan.
  5. ¿Qué hace el comando nslookup y qué utilidad tiene en la resolución de problemas de DNS?
  6. ¿Qué herramienta combina las funcionalidades de ping y traceroute en un solo comando?
  7. ¿Cómo puedes usar el comando route para ver la tabla de enrutamiento en formato numérico?
  8. ¿Qué diferencia hay entre los comandos wget y curl al descargar archivos?
  9. ¿Cómo utiliza el comando ss las opciones -t, -u y -x para mostrar puertos de red?
  10. ¿Qué opción del comando traceroute permite establecer el número máximo de saltos que un paquete debe realizar?

Ejercicios prácticos sobre comandos de red en Linux

  1. Muestra la dirección IP de tu máquina usando ifconfig o ip addr.
  2. Usa el comando ping para verificar la conectividad con google.com, enviando solo 4 paquetes.
  3. Ejecuta el comando traceroute para determinar la ruta hacia example.com.
  4. Consulta las entradas de la tabla de enrutamiento utilizando el comando route.
  5. Realiza una consulta DNS para obtener la dirección IP de google.com utilizando nslookup.
  6. Con el comando netstat, lista todas las conexiones TCP activas.
  7. Descarga un archivo de ejemplo desde Internet utilizando wget o curl.
  8. Configura una dirección IP temporal para una interfaz de red usando el comando ip.
  9. Usa el comando ss para mostrar los puertos de escucha activos en tu sistema.
  10. Ejecuta mtr para combinar las funcionalidades de ping y traceroute hacia un dominio de tu elección.

Respuestas a las preguntas

  1. Diferencia entre ifconfig e ip:
    • ifconfig: Utilizado para configurar interfaces de red y mostrar información básica. Es un comando más antiguo.
    • ip: Una versión moderna y más robusta que reemplaza a ifconfig. Ofrece más funcionalidades y un mejor manejo de configuraciones de red.
  2. Uso de traceroute y diferencia con tracepath:
    • traceroute: Rastrea la ruta que toman los paquetes hacia un destino y muestra información detallada de cada salto. Requiere privilegios de root.
    • tracepath: Similar a traceroute, pero no requiere privilegios de root.
  3. Información del comando ping -c: Permite especificar el número de paquetes ICMP que serán enviados. Proporciona estadísticas como paquetes transmitidos, recibidos, pérdida de paquetes y tiempo promedio.
  4. Propósito de netstat: Muestra estadísticas de red, conexiones activas y tablas de enrutamiento.
    • Alternativa: ss, que es más rápido y muestra información más detallada.
  5. Comando nslookup: Realiza consultas DNS para obtener información sobre direcciones IP asociadas a nombres de dominio, y viceversa. Es útil en la resolución de problemas de DNS.
  6. Herramienta que combina ping y traceroute: El comando mtr.
  7. Ver tabla de enrutamiento en formato numérico: route -n
  8. Diferencias entre wget y curl:
    • wget: Descarga archivos directamente y soporta descargas en segundo plano.
    • curl: Más versátil, permite realizar solicitudes HTTP/HTTPS, manejar encabezados y trabajar con APIs.
  9. Uso de ss con -t, -u, -x:
    • -t: Muestra puertos TCP.
    • -u: Muestra puertos UDP.
    • -x: Muestra sockets Unix.
  10. Establecer el número máximo de saltos en traceroute: Utiliza la opción -m.

Respuestas a los ejercicios

  1. Mostrar dirección IP: ifconfig o ip addr
  2. Ping a google.com con 4 paquetes: ping -c 4 google.com
  3. Determinar ruta hacia example.com: traceroute example.com
  4. Consultar tabla de enrutamiento: route
  5. Consulta DNS con nslookup: nslookup google.com
  6. Listar conexiones TCP activas con netstat: netstat -at
  7. Descargar archivo con wget o curl:
    • Usando wget: wget https://example.com/archivo.txt
    • Usando curl: curl -O https://example.com/archivo.txt
  8. Configurar IP temporal en una interfaz: sudo ip addr add 192.168.1.100/24 dev eth0
  9. Mostrar puertos de escucha con ss: ss -l
  10. Usar mtr para analizar la red: mtr google.com

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!!!