Un nuevo repositorio de comandos, tanto para los más principiantes con Linux como para los usuarios más avanzados. Hoy toca, hablar de la red de Internet en Linux.
Con anterioridad, ya he atacado la explicación de comandos en Linux dentro de nuestro blog para ciberninjas, puesto que Linux es algo imprescindible hoy en día dentro del mundo de la tecnología.
Más para los devops, personas que trabajen con servidores, etc Aquí te dejo, mis otras publicaciones sobre comandos en Linux:
- Chuleta definitiva de comandos en Linux
- Comandos de Bash en una sola línea
- 15 Ejemplos Básicos de Comandos ‘ls’ en Linux
- ¿Cuál es la diferencia entre el comando update vs. comando upgrade?
También otras publicaciones sobre Linux que seguramante te interesará revisar: ¿Por qué usar EXA en vez de LS en Linux?, 3 Terminales de Linux diferentes, 11 Mejores Emuladores de Terminal para Linux, ¿Cómo comprobar tu versión de Linux Mint?, ¿Cómo crear una copia de seguridad de Linux con Timeshift?, https://ciberninjas.com/kali-herramientas-20/, ¿Cómo instalar Linux WSL2 en Windows 10?, Chuleta de Linux, Kali Linux para principiantes, etc.
Al lío, hoy vamos a ver una lista de comandos esenciales para la red en Linux que te van ayudar a conocer más sobre tu propia red desde la propia consola de Linux.
Además, con estos comandos vas a poder configurar y solucionar problemas de red que puedas encontrar dentro de tu sistema Linux.
Comandos de red esenciales en Linux
Esta compilación incluye utilidades CLI que te ayudarán a solucionar problemas de red, monitorear paquetes, dispositivos conectados y mucho más.
Antes de mostrar los comandos con algunos detalles, permiteme compartir una breve descripción general de todos los comandos que vamos a ver:
Dominio | Descripción |
---|---|
ip | Manipulación de enrutamiento para asignar y configurar parámetros de red |
traceroute | Identificar la ruta que toman los paquetes para llegar al host |
tracepath | Obtiene la unidad de transmisión máxima mientras rastrea la ruta al host de la red |
ping | A menudo se usa para verificar la conectividad entre el host y el servidor |
ss | Obtiene detalles sobre los sockets de red. |
dig | Proporciona toda la información necesaria sobre el servidor de nombres DNS. |
host | Imprime la dirección IP de un dominio específico y vísceras |
hostname | Se utiliza principalmente para imprimir y cambiar el nombre de host |
curl | Transfiere datos a través de la red al admitir varios protocolos |
mtr | Se utiliza una combinación de ping y traceroute para diagnosticar la red. |
whois | Obtiene información sobre dominios registrados, direcciones IP, servidores de nombres y más |
iflugstatus | Detecta el estado del enlace de un dispositivo Ethernet local |
iftop | Supervisa las estadísticas relacionadas con el ancho de banda |
tcpdump | Utilidad de detección y análisis de paquetes utilizada para capturar, analizar y filtrar el tráfico de red |
ethtool | Permite a los usuarios configurar dispositivos Ethernet |
nmcli | Utilidad de solución de problemas para conexiones de red |
nmap | Se utiliza principalmente para auditar la seguridad de la red. |
bmon | Una utilidad de código abierto para monitorear el ancho de banda en tiempo real |
firewalld | Herramienta CLI para configurar reglas de Firewall |
iperf | Utilidad para medir el rendimiento y ajuste de la red |
speedtest-cli | Utilidad CLI de speedtest.net para verificar las velocidades de Internet |
vnstat | Se utiliza principalmente para monitorear el tráfico de red y el consumo de ancho de banda |
Seguidamente, veamos ejemplos y expliquemos en profundidad cada uno de elos.
Debes tener en cuenta que no todos los comandos se encuentran preinstalados, pero vas a encontrar las instrucciones necesarias para Debian/Ubuntu a lo largo de la entrada.
Si quieres instalaro en otras distribuciones, recuerda que debes utilizar tu administrador de paquetes particular.
1. IP
IP (Protocolo de Internet) es uno de los comandos más básicos pero lo suficientemente esencial como para que los administradores de sistemas lo utilicen a menudo.
Sus casos de uso pueden variar desde la manipulación del enrutamiento hasta la asignación y configuración de parámetros de red.
Si bien los casos de uso pueden ser infinitos, déjame mostrarte el caso de uso más básico del comando Ip, el encontrar una dirección IP):
ip address
De manera similar, también puedes usar el comando Ip para monitorear continuamente el estado de los dispositivos usando la opción de
monitor
en lugar de la opción de
address
si quieres obtener las direcciones IP.
ip monitor
2. Traceroute
Con el comando traceroute, puedes identificar la ruta que toman los paquetes para llegar al host.
Este es un comando que puede ser bastante útil cuando deseas revisar la transmisión de paquetes de datos y los saltos que realizan los paquetes.
De forma predeterminada, es posible que tu sistema no tenga instalado traceroute y si estás en una distro derivada de Debian (incluido Ubuntu) la instalación se realizar con solamente un comando:
sudo apt install traceroute
Por ejemplo, con el siguiente comando estarías rastreando los paquetes a google.com
traceroute google.com
De manera predeterminada, traceroute utiliza IPv4 pero puedes cambiar este comportamiento utilizando la opción
-6
que sirve para indicar que traceroute use IPv6.
~$ traceroute -6 google.com
3. Tracepath
El comando tracepath se usa para descubrir la MTU mientras se rastrea la ruta al host de la red.
Es bastante similar al comando anterior, pero requiere privilegios de sudo y tampoco tiene funciones predeterminadas como traceroute.
Antes de seguir, ¿Qué es MTU?
MTU o la unidad máxima de transmisión no es más que el marco o paquete más grande que se puede transmitir o recibir a través de la red.
Ahora sí, echemos un vistazo al ejemplo básico de tracepath con google.com
tracepath google.com
De manera similar, puedes imprimir tanto la dirección IP como el nombre de host usando la opción
-b
.
tracepath -b google.com
4. Ping
El comando ping (Packet Internet Groper) puede considerarse uno de los comandos más importantes a la hora de solucionar problemas de una red, puesto que es la forma más común de verificar la conectividad entre el host y el servidor.
Por ejemplo, así es como podríamos hacer ping a Google:
ping google.com
Pero podrías hacer ping a cualquier IP que desees, simplemente modificando “google.com” por el número IP.
En la última línea de respuesta luego de realizar el comando, se muestran los siguientes parámetros (min/avg/max), que indican el tiempo para obtener una respuesta del servidor especificado.
Si recibes un error que dice “bash: ping: comando no encontrado” es que debes Ping en tu sistema.
Si se muestra cualquier mensaje de conexión finalizada antes de tiempo o de paquetes transmitidos pérdidos o no recibidos; significa que la conexión entre host y servidor es errónea por alguna razón.
5. ss
El comando ss (estadísticas de socket) se usa para detallar el socket de la red (punto final para enviar y recibir datos a través de la red).
Para enumerar todas las conexiones TCP que escuchan y no escuchan, se debe usar la opción de
-at
como se muestra continuación:
ss -at
Del mismo modo, puedes hacer lo mismo con los puertos UDP usando la opción
-au
:
ss -au
6. Dig
El comando dig (Domain Information Groper) se utiliza para obtener toda la información necesaria sobre el servidor de nombres DNS.
Si quieres instalar la utilidad de excavación en distribuciones basadas en Ubuntu, sigue el siguiente comando:
sudo apt install dnsutils
Bien, ahora veamos cómo obtener información de un DNS específico para este ejemplo, usemos por ejemplo ciberninjas.com como DNS.
dig ciberninjas.com
7. Host
El comando host se usa principalmente para obtener la dirección IP de un dominio específico o el nombre de dominio de una dirección IP específica.
En otras palabras, es solo una utilidad de búsqueda de DNS. Si quieres encontrar la IP del dominio, solo tienes que agregar el nombre de dominio con el comando host delante.
Déjame enseñarte como:
host google.com
De manera similar, puedes usar una dirección IP para obtener el nombre de dominio:
host 8.8.4.4
8. Hostname
Debes estar familiarizado con este comando si has estado usando Linux por un tiempo, ya que se usa principalmente para cambiar el nombre de host de tu sistema y el nombre de dominio NIS (Sistema de información de red).
Cuando se usa sin ninguna opción, se obtiene el nombre de host del sistema actual:
hostname
Cambiar el nombre de host de un archivo que contiene el nombre de host deseado es otra característica interesante de esta utilidad.
sudo hostname -F
9. Curl
El comando curl (URL del cliente) se usa principalmente para transferir datos a través de la red y admite varios protocolos; incluidos HTTP, FTP, IMAP y muchos otros.
Esta herramienta se utiliza para la automatización, ya que está diseñada para funcionar sin interacción humana y también se puede usar en pruebas de punto final, depuración y registro de errores.
La utilidad curl no viene preinstalada y si estás en cualquier derivado de Debian, solo tienes que usar el siguiente comando para instalarlo:
sudo apt install curl
Es bastante fácil descargar archivos usando el comando curl, solamente tienes que usar la opción
-O
con la URL, ¡y estará listo para comenzar!
curl -O [URL]
Al descargar archivos grandes, puede ser bastante conveniente manejar la barra de progreso, usando la opción
-#
.
10. Mtr
Mtr es una combinación de utilidades de ping y traceroute que se utiliza principalmente para realizar diagnósticos de red y brindar una visión en vivo de la respuesta y la conectividad de la red.
La forma más sencilla de usar mtr es agregar un nombre de dominio o una dirección IP y te devolverá un informe del seguimiento de la ruta en vivo.
mtr [URL/IP]
Si deseas que mtr muestre tanto los nombres de host como las direcciones IP, puedes emparejarlos con la opción
-b
que se muestra a continuación:
mtr -b [URL]
11. Whois
El whois puede ayudarte a encontrar información sobre dominios registrados, direcciones IP, servidores de nombres y mucho más.
Es posible que esta utilidad no esté preinstalada en tu dispositivo y para la instalación en una distribución basada en Ubuntu, puede usar el comando:
sudo apt install whois
Generalmente, el comando whois se empareja con el nombre de dominio como se indica a continuación:
whois [DomainName]
Alternativamente, también puede pasar una dirección IP en lugar de un dominio y obtendrás los mismos detalles.
12. ifplugstatus
ifplugstatus es uno de los comandos más básicos pero lo suficientemente útil para solucionar problemas de conectividad a nivel básico.
Se utiliza para detectar el estado del enlace de una red Ethernet local y funciona de manera similar a mii-diag, mii-tool y ethtool puesto que admite APIs para los 3.
Para la instalación en distribuciones basadas en Ubuntu, puedes usar el siguiente comando:
sudo apt install ifplugd
Esta utilidad no tiene opciones complejas y a menudo, se usa sin estar emparejada con ningún otro atributo:
ifplugstatus
13. iftop
Los administradores suelen utilizar iftop (Interface TOP) para monitorear las estadísticas relacionadas con el ancho de banda y también se puede usar como una herramienta de diagnóstico cuando tienes problemas con la red.
Esta utilidad requiere instalación manual y se puede instalar fácilmente en máquinas que ejecutan Ubuntu mediante el comando:
sudo apt install iftop
Cuando iftop se usa sin ninguna otra opción, se muestran las estadísticas del ancho de banda de la interfaz predeterminada:
sudo iftop
Además, se puede especificar el dispositivo de red agregando el nombre del dispositivo con la opción
-i
.
sudo iftop -i
14. tcpdump
tcpdump es una utilidad de detección y análisis de paquetes que se utiliza para capturar, analizar y filtrar el tráfico de red.
Se puede usar como una herramienta de seguridad porque guarda los datos capturados en un archivo pcap al que se puede acceder a través de Wireshark.
Como muchas otras herramientas, tcpdump no viene preinstalado y se instala mediante el comando:
sudo apt install tcpdump
Una vez que hayas terminado con la instalación, puedes obtener los paquetes capturados para la interfaz actual como se indica a continuación:
sudo tcpdump
Bien, pero vayamos un poco lejos, ¿Se pueden guardar los paquetes capturados en un archivo pcap?
Déjame enseñarte como puedes hacerlo:
sudo tcpdump -w Paquetes_Capturados.pcap -i
Para acceder al archivo guardado, debes usar la opción
-r
agregando el nombre del archivo:
sudo tcpdump -r Paquetes_Capturados.pcap
15. ethtool
Como sugiere su nombre, la utilidad ethtool se ocupa principalmente de administrar dispositivos Ethernet.
El uso de esta utilidad permite modificar la velocidad de la tarjeta de red, la negociación automática y mucho más.
Pero es posible que no esté preinstalado en tu máquina, pero puede instalarse con:
sudo apt install ethtool
Si quieres obtener los detalles de la interfaz, solamente tienes que agregar el nombre del dispositivo junto al comando, como se muestra a continuación:
sudo ethtool
16. nmcli
Nmcli pasar por ser una herramienta de solución de problemas de red simple pero poderosa, es una de las primeras utilidades que cualquier administrador de sistemas usaría para solucionar problemas de red y además, se puede usar en scripts.
Puedes usar el comando nmcli tal como se indica para monitorear el estado de conectividad de los dispositivos:
nmcli dev status
Cuando se usa sin ninguna opción, mostrará información sobre todos los dispositivos presentes en el sistema.
nmcli
17. nmap
La herramienta nmap sirve para explorar y auditar la seguridad de la red.
A menudo, los piratas informáticos y los entusiastas de la seguridad informática lo utilizan, puesto que permite obtener información en tiempo real sobre la red, IP conectadas a tu red de manera detallada, escaneo de puertos y mucho más.
Para la instalación de la utilidad nmap en distribuciones basadas en Ubuntu, usa el comando:
sudo apt install nmap
Si quieres comenzar a escanear, ejecuta el comando más el nombre de host a investigar:
nmap google.com
18. bmon
Bmon es una utilidad de código abierto para monitorear el ancho de banda en tiempo real y depurar problemas al presentar estadísticas de una manera más amigable para los humanos.
¡La mejor parte de esta herramienta es la presentación gráfica e que incluso se puede obtener la salida en código HTML!
La instalación es bastante simple ya que bmon está presente en los repositorios predeterminados de las distribuciones más populares de Linux y eso también incluye a Ubuntu.
sudo apt install bmon
Ahora, solo tienes que iniciar bmon y podras monitorear el ancho de banda de una manera agradable a la vista:
bmon
19. Firewalld
La administración de firewalls puede considerarse la parte central de la seguridad de la red y esta herramienta le permite agregar, configurar y eliminar reglas en el firewall.
Pero el firewalld requiere una instalación manual, puedes utilizar el comando siguiente para la instalación siempre que estés utilizando una distribución basada en Ubuntu:
sudo apt install firewalld
Por ejemplo, vamos a ver cómo puedesa abrir el puerto 80 de forma permanente para toda la zona pública:
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
De manera similar, para eliminar la regla agregada, debes usar la opción
-remove
como se muestra a continuación:
sudo firewall-cmd --zone=public --remove-port=80/tcp
20. iperf
El iperf es una utilidad de código abierto escrita en C que permite a los usuarios realizar mediciones y ajustes del rendimiento de la red.
Esta herramienta está presente en el repositorio predeterminado de Ubuntu y se puede instalar mediante el comando siguiente:
sudo apt install iperf
Para comenzar a monitorear la red, los usuarios deben iniciar este cliente en el servidor mediante el comando dado:
iperf -s -u
Donde la opción
-s
indica el servidor y la opción
-u
es para el formato UDP.
Bien, puedes conectarte a tu servidor (usando la opción
-c
que indica el lado del cliente) proporcionando una carga útil de dirección IP para el protocolo preferido.
Para este ejemplo, opté por UDP (usando la opción
-u
) con una carga útil de 100.
iperf -c 10.0.2.15 -u 100
21. speedtest-cli
Como sugiere su propio nombre, esta es la utilidad CLI para el sitio web speedtest.net.
Esta utilidad de código abierto lanzada bajo la licencia Apache 2.0 puede ser muy útil cuando deseas una fuente confiable para verificar las velocidades de Internet desde la CLI.
La instalación es bastante sencilla y se puede instalar fácilmente utilizando el comando siguiente:
sudo apt install speedtest-cli
Una vez que hayad terminado con la parte de la instalación, solo tiene que usar el comando único para probar las velocidades de la red:
speedtest-cli
22. vnstat
Los administradores de sistemas utilizan principalmente la utilidad vnstat para monitorear el tráfico de red y el consumo de ancho de banda, ya que esta herramienta monitorea el tráfico en las interfaces de red del sistema.
Al igual que con cualquier otra herramienta de red, puedess encontrar vnstat en los repositorios predeterminados usando el comando:
sudo apt install vnstat
Posteriormente con el comando vnstat sin ninguna opción, se mostrarán las estadísticas básicas de todas las interfaces disponibles en el sistema:
vnstat
Si quieres ejecutar el monitoreo en vivo, puedes emparejar el comando vnstat con la opción
-l
:
vnstat -l
Conclusión final
Esta es una lista bastante larga, ¿Verdad?
Pues esta compilación no es ni siquiera la punta del iceberg y solamente hemos visto los atributos más básicos de cada uno de los comandos, puesto que el post se habría hecho mucho más largo.
Si olvidé mencionar alguno de tus favoritos, házmelo saber en los comentarios o vía cualquiera de nuestras redes sociales.