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.
¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?
Lista de lo que aprenderás en este artículo
- Conceptos básicos sobre redes en Linux y su importancia para la administración de sistemas.
- Uso de comandos esenciales para gestionar y solucionar problemas de redes.
- Manejo de configuraciones de red con comandos como
ifconfig
eip
. - Supervisión de conexiones y tráfico de red con
netstat
,ss
eiftop
. - Comprobación de conectividad y resolución de problemas de red con
ping
,traceroute
, ytracepath
. - Configuración y diagnóstico de DNS mediante
dig
,nslookup
yhost
. - Manipulación de tablas de enrutamiento usando
route
e inspección de rutas IP. - Uso de herramientas avanzadas como
mtr
,tcpdump
yethtool
para análisis detallado de la red. - Aplicación de herramientas de descarga y gestión de archivos en red como
curl
ywget
. - 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:
ifconfig | Mostrar y manipular rutas e interfaces de red. |
ip | Es un reemplazo del comando ifconfig. |
traceroute | Utilidad de resolución de problemas de red. |
tracepath | Similar a traceroute pero no requiere privilegios de root. |
ping | Para comprobar la conectividad entre dos nodos. |
netstat | Mostrar información de conexión. |
ss | Es un reemplazo de netstat. |
dig | Consultar información relacionada con DNS. |
nslookup | Encuentra consultas relacionadas con DNS. |
route | Muestra y manipula la tabla de enrutamiento IP. |
host | Realiza búsquedas de DNS. |
arp | Ver o agregar contenido de la tabla ARP del kernel. |
iwconfig | Se utiliza para configurar la interfaz de red inalámbrica. |
hostname | Para identificar un nombre de red. |
Curl or wget | Para descargar un archivo de internet. |
mtr | Combina ping y tracepath en un solo comando. |
whois | Le informará sobre el whois del sitio web. |
ifplugstatus | Indica 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
- ifconfig eth0
- ifconfig lo
- 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.
Objecto | Uso |
address | Se utiliza para la dirección de protocolo (IP o IPv6) en un dispositivo. |
addrlabel | Se utiliza para etiquetar la configuración para la selección de la dirección del protocolo. |
l2tp | Se utiliza para el túnel Ethernet sobre IP (L2TPv3). |
link | Se utiliza para conectar en red un dispositivo. |
maddress | Se utiliza para realizar multidifusión de una dirección. |
monitor | Se utiliza para ver mensajes de Netlink. |
mroute | Se utiliza para la entrada de caché de enrutamiento de multidifusión. |
mrule | Se utiliza para gobernar en la base de datos de políticas de enrutamiento de multidifusión. |
neighbour | Se utiliza para administrar entradas de caché ARP o NDISC. |
netns | Se utiliza para administrar espacios de nombres de red. |
ntable | Se utiliza para gestionar el funcionamiento del caché vecino. |
route | Se utiliza para la entrada de la tabla de enrutamiento. |
rule | Se utiliza para gobernar en la base de datos de políticas de enrutamiento. |
tcp_metrics/tcpmetrics | Se utiliza para administrar métricas TCP. |
token | Se utiliza para administrar los identificadores de interfaz tokenizados. |
tunnel | Se utiliza para túnel sobre IP. |
tuntap | Se 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:
- ip addres show
- 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
Dominio | Descripción |
netstat -a | Representa cada socket, tanto el que escucha como el que no escucha, y cada protocolo, como UDP, TCP, etc. |
netstat -at | Representa únicamente conexiones TCP (-au representa únicamente conexiones UDP). |
netstat -ant | Representa cada conexión TCP sin resolución DNS (en lugar de mostrar direcciones IP). |
netstat -al | Muestra únicamente los conectores de escucha. |
netstat -aep | Muestra 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.txt | Muestra estadísticas de la red. |
netstat -i | Muestra una tabla de cada interfaz de red. Incluya -e para recibir el resultado, que es lo mismo que ifconfig. |
netstat -r | Muestra la información sobre el enrutamiento del núcleo. Es un resultado similar al de route -e. |
netstat -ct | Muestra conexiones TCP regularmente. |
netstat -g | Muestra 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 -lntu | Muestra 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
ifconfig
yip
: Configuración de interfaces de redifconfig
: Configura direcciones IP, habilita/deshabilita interfaces y muestra detalles como dirección MAC y MTU.ip
: Versión mejorada deifconfig
, 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.
- 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.
- Ejemplo:
- Diagnóstico de rutas con
traceroute
ytracepath
traceroute
: Identifica cada salto hasta el destino y detecta problemas de latencia.tracepath
: Similar atraceroute
, pero no requiere permisos de root.traceroute google.com tracepath google.com
- Resolución de DNS con
dig
,nslookup
, yhost
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
- Supervisión de conexiones con
netstat
yss
netstat
: Muestra sockets abiertos, rutas y estadísticas de red.netstat -a # Lista todas las conexiones activas.
ss
: Alternativa moderna anetstat
, más rápida y detallada.ss -lt # Lista puertos TCP en escucha.
- 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.
- Ejemplo:
- Análisis de tráfico con
tcpdump
yiftop
tcpdump
: Captura paquetes para análisis detallado.tcpdump -i eth0
iftop
: Monitorea tráfico en tiempo real.
- Descarga de archivos con
curl
ywget
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
- Diagnóstico avanzado con
mtr
Combinaping
ytraceroute
para un análisis continuo de la conectividad.- Ejemplo:
mtr google.com
- Ejemplo:
- 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
- ¿Cuál es la diferencia entre
ifconfig
eip
y cuál es el más actualizado? - ¿Para qué se utiliza el comando
traceroute
y cómo se diferencia detracepath
? - ¿Qué información se puede obtener al usar el comando
ping
con la opción-c
? - Explica el propósito del comando
netstat
y menciona una de las alternativas modernas que lo reemplazan. - ¿Qué hace el comando
nslookup
y qué utilidad tiene en la resolución de problemas de DNS? - ¿Qué herramienta combina las funcionalidades de
ping
ytraceroute
en un solo comando? - ¿Cómo puedes usar el comando
route
para ver la tabla de enrutamiento en formato numérico? - ¿Qué diferencia hay entre los comandos
wget
ycurl
al descargar archivos? - ¿Cómo utiliza el comando
ss
las opciones-t
,-u
y-x
para mostrar puertos de red? - ¿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
- Muestra la dirección IP de tu máquina usando
ifconfig
oip addr
. - Usa el comando
ping
para verificar la conectividad congoogle.com
, enviando solo 4 paquetes. - Ejecuta el comando
traceroute
para determinar la ruta haciaexample.com
. - Consulta las entradas de la tabla de enrutamiento utilizando el comando
route
. - Realiza una consulta DNS para obtener la dirección IP de
google.com
utilizandonslookup
. - Con el comando
netstat
, lista todas las conexiones TCP activas. - Descarga un archivo de ejemplo desde Internet utilizando
wget
ocurl
. - Configura una dirección IP temporal para una interfaz de red usando el comando
ip
. - Usa el comando
ss
para mostrar los puertos de escucha activos en tu sistema. - Ejecuta
mtr
para combinar las funcionalidades deping
ytraceroute
hacia un dominio de tu elección.
Respuestas a las preguntas
- Diferencia entre
ifconfig
eip
: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 aifconfig
. Ofrece más funcionalidades y un mejor manejo de configuraciones de red.
- Uso de
traceroute
y diferencia contracepath
: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 atraceroute
, pero no requiere privilegios de root.
- 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. - 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.
- Alternativa:
- 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. - Herramienta que combina
ping
ytraceroute
: El comandomtr
. - Ver tabla de enrutamiento en formato numérico:
route -n
- Diferencias entre
wget
ycurl
: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.
- Uso de
ss
con-t
,-u
,-x
:-t
: Muestra puertos TCP.-u
: Muestra puertos UDP.-x
: Muestra sockets Unix.
- Establecer el número máximo de saltos en
traceroute
: Utiliza la opción-m
.
Respuestas a los ejercicios
- Mostrar dirección IP:
ifconfig
oip addr
- Ping a
google.com
con 4 paquetes:ping -c 4 google.com
- Determinar ruta hacia
example.com
:traceroute example.com
- Consultar tabla de enrutamiento:
route
- Consulta DNS con
nslookup
:nslookup google.com
- Listar conexiones TCP activas con
netstat
:netstat -at
- Descargar archivo con
wget
ocurl
:- Usando
wget
:wget https://example.com/archivo.txt
- Usando
curl
:curl -O https://example.com/archivo.txt
- Usando
- Configurar IP temporal en una interfaz:
sudo ip addr add 192.168.1.100/24 dev eth0
- Mostrar puertos de escucha con
ss
:ss -l
- 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…
- Cómo conseguir trabajo de hacker en 2024
- Trabaja remoto e internacionalmente como Hacker en 2024
- Se necesitan más Hackers – Hechos y estadísticas de 2024
- Se Necesitan más Hackers – La escasez de habilidades en ciberseguridad está empeorando
- El salario de un hacker – Cuanto se gana como Pentesters/ Infosec
- Las empresas te estan buscando para hacerle frente a los ciberataques
- Cómo convertirse en analista de ciberseguridad
- Inicia en hacking y ciberseguridad como analista SOC
- DevOps vs DevSecOps para Hackers
- DevOps vs DevSecOps para Empresas
¿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
- Cómo Iniciarse en Hacking y Ciberseguridad en 2024
- Hacker de 0 a 100 desde las bases hasta conseguir empleo
- Curso de Redes para Hackers
- Curso Gratis de Programación
- Curso Gratis Linux – Capitulo 1 – Introducción a Linux
- Curso Gratis de Redes – Capitulo 1 – Tipos de redes y servicios
- Guía de Hacking y Pentesting capitulo 1: Introducción al Pentesting
- Como iniciarse en TRY HACK ME – Complete Beginner #1
- OSINT #1 Más de 200 Search Tools
- Curso Gratis de Java para Hackers
- Hardware para Hackers – Los mejores 40 Dispositivos de Hacking
- Guía de Flipper Zero – Qué es y para qué sirve
- SIGUE APRENDIENDO GRATIS EN NUESTRO BLOG
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!!!