Cuando se trata de establecer redes estables y seguras, Linux es la primera opción para la mayoría de nosotros. Esto explica muchas cosas, incluida la gran variedad de herramientas y comandos de red proporcionados por Linux. Puede encontrar un número aparentemente infinito de utilidades de red que le permitirán configurar redes seguras, monitorearlas en busca de problemas, solucionar problemas de manera efectiva, etc.
La lista es, de hecho, tan extensa que la mayoría de los tutoriales en Internet ni siquiera intentan cubrirlos. Es por eso que hemos seleccionado esta guía bien pensada sobre varios comandos de red de Linux.
Contenidos
Comandos de red de Linux para SysAdmins
Hemos tratado de dividir esta guía completa en porciones específicas, en función de las herramientas y su uso. Puede usar muchos de estos comandos en diferentes escenarios. Por lo tanto, su agrupación no es estricta per se: simplemente están aquí para ayudarlo a visualizar. Aunque esta guía no cubrirá todos los comandos de red de Linux, puede usar esto como punto de referencia cada vez que se atasque con las redes.
Comandos de red de Linux para administrar interfaces de red
Configurar y administrar interfaces de red es esencial tanto para los administradores del sistema como para los usuarios avanzados. En esta sección, repasaremos algunos comandos de red fundamentales disponibles en sistemas similares a Unix para este trabajo.
1. ifconfig
Uno de los comandos de red más básicos pero potenciadores para los administradores de sistemas Linux es ifconfig. Es una utilidad de sistema incorporada que permite a los usuarios configurar y administrar los parámetros de la interfaz de red. El nombre ifconfig significa » configuración de interfaz «, y es la herramienta de acceso para verificar si sus interfaces de red funcionan correctamente o no.
$ ifconfig
Llamarlo sin ninguna opción proporcionará información detallada sobre los dispositivos de red, la configuración y la configuración actual.
Puede usar el indicador -s para obtener información más breve y concisa. Otras opciones adicionales permiten que ifconfig realice tareas más exigentes. Consulte la página de manual para obtener notas sobre cómo usarlos.
2. iwconfig
El iwconfig se usa para configurar interfaces de red inalámbricas como tarjetas de red y otras cosas. Se puede usar para configurar varios parámetros de red inalámbrica, como el punto de acceso SSID y la frecuencia. Suponga que ha identificado su interfaz inalámbrica como wlp2s0 utilizando ifconfig. El siguiente comando proporcionará información de red relacionada con esta interfaz.
$ iwconfig wlp2s0
Use el siguiente comando para cambiar la potencia de transmisión a 20.
$ iwconfig wlp2s0 txpower 20
Ejecute iwconfig nuevamente para ver si el cambio en la potencia de transmisión. Consulte la página de manual para opciones útiles adicionales.
3. ifstat
El comando ifstat es una práctica utilidad que permite a los administradores de sistemas leer y monitorear diversas estadísticas de la interfaz de red, como el uso de ancho de banda, etc. El siguiente comando le dará las estadísticas de muestra cada segundo SECS .
$ ifstat --scan=SECS
El siguiente comando informará el promedio durante los últimos segundos SECS .
$ ifstat --interval=SECS
El siguiente generará cualquier error.
$ ifstat --errors
Esta herramienta es parte del proyecto iproute2 y tiene una gran cantidad de opciones adicionales. Consulte la página de manual para más consultas.
4. ethtool
La utilidad ethtool permite a los administradores mostrar y modificar los diferentes parámetros de los controladores de interfaz de red y los controladores de sus dispositivos. Puede ser útil para identificar y diagnosticar sus dispositivos ethernet y le permite controlar la velocidad, el dúplex y los flujos de manera conveniente.
$ ethtool eth0
El comando anterior generará los parámetros actuales del puerto de red eth0 .
$ ethtool -s eth0 speed 1000 duplex full
Este comando fuerza la velocidad de la interfaz de red eth0 a 1000 y configura full-duplex. Puede encontrar muchas opciones adicionales simplemente revisando el manual.
5. arpwatch
La utilidad arpwatch es una herramienta robusta de monitoreo de actividad de ethernet que permite a los administradores del sistema realizar un seguimiento de los emparejamientos de ethernet / direcciones IP de su red. Puede ser de extrema importancia para los administradores de sistemas empresariales y también para los usuarios avanzados de Linux.
Puede usar arpwatch para ver una interfaz de red específica utilizando la bandera -i , como se muestra a continuación.
$ sudo arpwatch -i eth0
arpwatch escribe cualquier cambio o actividad inusual en IP o MAC en / var / log / messages . Use el comando tail en este archivo para obtener nueva información sobre su tráfico ARP. Consulte la página de manual para explorar más opciones disponibles.
6. bmon
El comando bmon es posiblemente uno de los comandos de red de Linux más útiles. Es un monitor de ancho de banda portátil y un estimador de velocidad que se puede utilizar para capturar estadísticas de red y mostrarlas en un formato legible para humanos. La salida de texto programable proporcionada por esta herramienta de monitoreo de red de Linux se puede usar para construir scripts avanzados.
$ bmon
Simplemente invocando esta herramienta le dará una estimación en tiempo real de las estadísticas de su red. Use el indicador -p para obtener resultados para una interfaz específica.
$ bmon -p wlp2s0
Hay muchas más opciones disponibles: consulte la página de manual para obtener detalles completos.
Comandos de red de Linux para comunicación
La comunicación con recursos externos es el propósito principal de las redes del sistema. En esta sección, echamos un vistazo a algunos comandos comunes de Linux utilizados para este propósito.
7. telnet
El protocolo telnet es el mecanismo fundamental detrás de la comunicación bidireccional, interactiva y orientada a texto en sistemas Linux. La utilidad telnet de Linux permite que un sistema host se conecte a otro sistema cliente utilizando este protocolo de comunicación. Simplemente ingrese telnet en su terminal para invocar el shell interactivo.
$ telnet
Ahora ingrese abierto seguido del nombre de host / IP del sistema que desea conectar en este shell. Ingrese ayuda para obtener una lista de todas las opciones disponibles.
telnet> open example.com
Alternativamente, puede usar este comando para conectarse directamente con un host. Ver el siguiente ejemplo.
$ telnet host-machine
Simplemente escriba las credenciales de usuario en el mensaje y estará listo para comenzar.
Comandos de red de Linux para inicio de sesión remoto
8. ssh
El comando ssh es sin duda uno de los comandos de red de Linux más utilizados para muchos administradores. Proporciona una interfaz para el protocolo de shell seguro y permite una comunicación sin problemas a través de una conexión de red segura. Se puede usar para administrar servidores remotos de manera efectiva y transferir archivos sin problemas.
$ ssh user@host-machine
Puede configurar emparejamientos de claves privadas / públicas e iniciar sesión en máquinas remotas sin escribir contraseñas. Use el siguiente comando para generar su clave ssh.
$ ssh-keygen
Por defecto, el comando anterior genera las claves utilizando el algoritmo criptográfico RSA. Use el indicador -t para usar otros algoritmos como DSA.
9. sendmail
El comando sendmail es una práctica utilidad que permite a los usuarios de Linux enviar mensajes de correo electrónico directamente desde su terminal. Lee la entrada estándar y envía correos electrónicos a destinatarios específicos a través de la red. Este comando a menudo es útil para servidores remotos donde no tiene su navegador estándar para enviar correos electrónicos.
$ echo "Subject: Test" | sendmail test@example.com < mail.txt
El comando anterior enviará el contenido del archivo dado al correo electrónico especificado. Hay un montón de opciones adicionales que puedes usar con sendmail. Consulte la página de manual para más consultas sobre sendmail.
10. write
La capacidad de enviar mensajes entre diferentes usuarios del sistema es crucial para sistemas multiusuario como Linux. El comando de escritura se puede utilizar para establecer sesiones de comunicación de terminal a terminal en Linux. Es una utilidad interactiva y, por lo tanto, no es factible utilizar este comando de red dentro de los scripts.
$ write user [tty]
El comando de escritura toma la sintaxis mencionada anteriormente y envía mensajes a usuarios específicos o a todos. Será útil cuando varios usuarios estén operando el mismo sistema y necesiten comunicarse sin esfuerzo.
11. mail
El comando de correo es una utilidad esencial para enviar correos electrónicos desde la terminal. Observe el siguiente ejemplo para comprender cómo funciona.
$ mail -s "This is the subject" user@example.com < mail.txt
La bandera -s permite a los usuarios seleccionar su tema. Puede enviar correos a múltiples destinatarios al mismo tiempo, como se muestra a continuación.
$ mail -s "This is the subject" user@example.com, user1@example.com < mail.txt
Simplemente use una lista de destinatarios separados por comas. La bandera -a permite a los usuarios enviar archivos adjuntos con sus correos.
$ mail -s "Subject" -a /tmp/file.pdf user@example.com < mail.txt
12. mailstats
A veces es posible que desee enumerar sus estadísticas de correo electrónico por varias razones. El comando Linux mailstats te permitirá hacer esto muy fácilmente. Este comando debe ejecutarse como root, de lo contrario no funcionará.
# mailstats -p
Este comando dará salida en modo legible por programa y proporcionará estadísticas claras.
# mailstats -f STAT-FILE
Este comando leerá el STAT-FILE especificado en lugar del archivo de estadísticas de sendmail predeterminado. Consulte su página de manual para obtener más opciones disponibles y el uso adecuado del comando.
13. w
El comando w proporciona una forma práctica de enumerar todos los usuarios que actualmente están conectados a una máquina Linux. Su sintaxis se muestra a continuación.
w [options] user [...]
Este comando también proporciona muchas ideas valiosas, como los procesos que se ejecutan en la sesión de cada usuario, el host de emoticones, el tiempo de inicio de sesión, el tiempo de inactividad, JCPU, PCPU, etc.
$ w --short
Este comando proporcionará una salida concisa omitiendo el tiempo de inicio de sesión, JCPU o PCPU.
$ w --ip-addr
Este comando intentará mostrar la dirección IP de los usuarios actualmente conectados en lugar de sus nombres de host. Puede encontrar más opciones en la página del manual.
Comandos de red para facilitar la transferencia de datos
La transferencia de datos a través de varios sistemas es obligatoria para los administradores de sistemas. Linux facilita la transferencia remota de datos a través de una red de manera conveniente y ofrece algunas herramientas de línea de comandos muy robustas para este propósito. En esta sección, echamos un vistazo a algunos de estos comandos.
También te puede interesar: Los 20 mejores lanzadores de aplicaciones Linux para la productividad
14. cURL
El comando cURL es uno de los comandos de Linux más utilizados para transferir datos hacia o desde un servidor de red. Utiliza varios protocolos de red como HTTP, HTTPS, FTP, FTPS, SCP, SFTP, etc. El comando cURL no requiere la interacción del usuario y, por lo tanto, se puede utilizar ampliamente dentro de los scripts de shell.
$ curl -O https://somedomain/file
Esto descargará el archivo desde la dirección especificada y lo guardará en el directorio actual con su nombre original.
$ curl -o new-name https://somedomain/file
Este comando guarda el archivo descargado con el nombre new-name . Dado que cURL tiene una gran cantidad de opciones disponibles, es imprescindible consultar el manual si desea dominar esta herramienta Linux.
15. wget
La herramienta wget es parte del proyecto GNU y facilita la descarga de contenidos desde servidores web. Ofrece varias opciones útiles, incluida la capacidad de descargar archivos de forma recursiva, convertir enlaces a HTML para verlos sin conexión, servidores proxy, etc.
$ wget https://somedomain/file
Esto simplemente descarga el archivo y lo guarda en el directorio actual. Use el indicador -O para guardar este archivo con un nuevo nombre.
$ wget -O filename https://somedomain/file
Use la bandera -P para guardar el archivo en otro directorio.
$ wget -P ~/Downloads https://somedomain/file
wget no es interactivo y se usa ampliamente para descargar archivos desde scripts internos.
16. ftp
La utilidad FTP de Linux se usa ampliamente para descargar o cargar archivos a / desde hosts remotos. Este comando se puede usar dentro de los scripts para crear sesiones FTP automatizadas muy rápidamente.
$ ftp ftp>
Simplemente escribiendo ftp en el terminal crea una sesión interactiva. Puede ingresar varios comandos en este mensaje para transferir archivos a través de FTP. Por ejemplo, puede usar el abierto común para conectarse a un host remoto. Ingrese el comando de ayuda para obtener una lista de todos los comandos disponibles.
$ ftp hostname
También puede usarlo para conectarse a hosts remotos directamente. Consulte la página del manual para obtener información detallada sobre todos los comandos disponibles.
17. rcp
La utilidad rcp permite a los usuarios copiar archivos o directorios de su sistema local a una máquina remota en la red. El comando tiene una sintaxis como la siguiente.
rcp [options] SOURCE DESTINATION
Por ejemplo, el siguiente comando muestra cómo copiar un archivo llamado test.doc en una máquina remota.
$ rcp /parent/dir/test.doc hostname:/some/dir
También puede usar este comando para recibir archivos de un host remoto, como se muestra a continuación.
$ rcp hostname:/some/dir/FILE
Simplemente omita la parte de origen al recibir archivos.
18. scp
El comando scp (copia segura) se utiliza para copiar archivos de forma segura entre dos sistemas de una red. Es similar en funcionalidad con el comando rcp pero implementa autenticación segura como el comando ssh. Puede copiar archivos y directorios a máquinas remotas usando este comando útil.
$ scp FILE username@remote-host:/some/dir
El comando anterior copia ARCHIVO en el directorio / some / dir del sistema remoto . Si el host remoto está escuchando algún otro puerto ssh en lugar de 22, puede usar el indicador -P para especificar eso.
$ scp -P 2222 FILE username@remote-host:/some/dir
Le recomendamos que consulte la página de manual de scp para explorar opciones adicionales y sus casos de uso.
19. rsync
La utilidad rsync se usa para transferir y sincronizar archivos de manera eficiente entre dos sistemas conectados a través de una red. Los administradores de sistemas a menudo lo usan para transferir archivos desde servidores NAS externos a su máquina local. Es una herramienta muy confiable y de alta velocidad para copiar archivos desde y hacia computadoras remotas.
$ rsync -zvh backup.tar /tmp/backups/
El comando anterior sincroniza un archivo llamado backup.tar con el directorio temporal. Utiliza la opción -z para comprimir los datos del archivo, -v para obtener resultados detallados y -h para obtener resultados legibles por humanos. También permite el acceso a través de shell remoto y el demonio rsync. Consulte la página del manual para conocer su uso.
20. socat
La herramienta socat de Linux se utiliza para establecer dos flujos de bytes bidireccionales y permite transferir datos entre ellos de manera muy eficiente. El comando socat es uno de los comandos de red de Linux más versátiles y tiene casos de uso bastante diversos.
$ socat SYSTEM:date STDIO
Este comando toma la fecha actual del sistema y la imprime en la entrada estándar.
$ socat - TCP:localhost:www,crnl
El comando anterior abre una conexión de servidor web al localhost y obtiene una página al terminal. Observe cómo se ha pasado el número de puerto como nombre de servicio. Este es un comando muy robusto y admite muchas formas cortas. Por lo tanto, consulte su página de manual para dominarlos de manera efectiva.
También te puede interesar: Los 30 mejores Software de Ticketing Helpdesk Linux para Empresas
21. sftp
El comando sftp se usa para acceder, transferir y administrar archivos utilizando el protocolo seguro de transferencia de archivos. Básicamente, permite a los administradores usar FTP a través de un shell seguro. Si puede usar los comandos ssh y ftp, usar sftp será muy fácil.
$ sftp user@hostname
Este comando abre una conexión segura e inicia la solicitud de FTP. Establece la conexión en el puerto ssh predeterminado (22). Dado que muchos administradores de sistemas usan números de puerto personalizados para ssh para evitar usuarios malintencionados, debe pasar ese número de puerto para conectarse a dichos sistemas.
$ sftp -oPort=CUSTOM-PORT user@hostnameems
Lea la página de manual para explorar todas las opciones posibles y su uso.
22. sshfs
El comando sshfs es uno de los comandos de red de Linux más útiles para montar sistemas de archivos remotos. Este comando tiene una sintaxis básica pero puede ser un activo versátil para los administradores de sistemas modernos.
$ sshfs user@hostname:/some/dir /mountpoint
El comando anterior monta el sistema de archivos remoto en el punto de montaje especificado. Tenga en cuenta que el punto de montaje debe ser propiedad del usuario para que este comando funcione. El sistema de archivos remoto se desmontará automáticamente cuando cierre la conexión. Puede hacerlo permanente editando el archivo / etc / fstab .
Comandos de red para administrar políticas de red
Los administradores pueden configurar diferentes políticas para sus máquinas y redes Linux con bastante facilidad con algunos poderosos comandos de red Linux. Algunas de estas tareas incluyen, entre otras, la configuración de controladores de dispositivos, la configuración de políticas de enrutamiento, la gestión de túneles, etc. En esta sección, veremos más de cerca algunos de los comandos que facilitan estos trabajos.
comando de nombre de host en Linux
23. hostname
El comando hostname es una práctica utilidad que permite a los administradores obtener o establecer nombres de host o nombres de dominio DNS. A menudo se usa para configurar hosts dinámicos u obtener información sobre un host específico. Simplemente escribiendo hostname en la terminal mostrará su nombre de host actual.
$ hostname
El siguiente comando reemplazará su nombre de host actual con NEW_HOST_NAME .
$ hostname NEW_HOST_NAME
El indicador -i se puede usar para obtener la dirección IP actual de su nombre de host.
$ hostname -i
Hay más opciones que puede usar con este comando. Consulte la página de manual para obtener información detallada sobre ellos.
24. iptables
El comando Linux iptables es, sin duda, uno de los comandos de red de Linux más utilizados para los administradores de sistemas. El programa iptables es un programa de utilidad de espacio de usuario que permite a los administradores configurar las cadenas de iptable y configurar firewalls. Es una herramienta de facto para evitar tráficos no autorizados o maliciosos a su red.
$ sudo iptables -L -n -v
El comando anterior imprimirá las reglas actuales de iptables utilizadas por su sistema. El siguiente comando le muestra cómo bloquear todas las solicitudes entrantes de una IP específica.
$ sudo iptables -A INPUT -s xxx.xxx.xxx.xxx -j DROP
Hay una gran cantidad de posibles comandos de iptables, y puede encontrar detalles completos en esta publicación .
25. route
Puede usar el comando de ruta para ver y manipular la tabla de enrutamiento IP de su sistema. Permite a los administradores editar fácilmente las tablas de enrutamiento del núcleo y configurar las funcionalidades deseadas. Este comando también está disponible en los sistemas Microsoft Windows y, por lo tanto, se usa ampliamente.
$ sudo route -n
Este comando enumerará la tabla de enrutamiento IP actual. El siguiente comando le muestra cómo agregar una puerta de enlace predeterminada para su máquina.
$ sudo route add default gw xxx.xxx.xxx.xxx
Puede verificar la nueva puerta de enlace con el comando anterior. Consulte la página del manual para obtener una lista completa de todas las opciones disponibles.
26. dig
El comando dig permite a los administradores consultar el Sistema de nombres de dominio (DNS) para la resolución de problemas de la red y otros fines. Dig utiliza la resolución DNS predeterminada de su máquina Linux y admite consultas de nombre de dominio internacionalizado (IDN) . El siguiente ejemplo muestra la facilidad con la que Dig proporciona información de registro DNS para un host.
$ dig example.com
Use la opción + corta para obtener una salida concisa.
$ dig example.com +short
También puede consultar diferentes tipos de registros de recursos DNS utilizando MX.
$ dig example.com MX
Lea la página de manual para comprender todos los casos de uso posibles y las opciones disponibles.
27. ip
El comando ip permite a los usuarios de Linux aprovechar rápidamente la utilidad de IP para manipular el enrutamiento, los dispositivos, el enrutamiento de políticas y los túneles. Es una herramienta muy dinámica y ofrece numerosas opciones robustas. El siguiente ejemplo muestra cómo mostrar las direcciones IP de todas las interfaces de red con esta herramienta.
$ ip addr
Puede usar la forma abreviada a , en lugar de addr . El siguiente comando le muestra cómo obtener información solo para las interfaces que se ejecutan actualmente.
$ ip link ls up
El siguiente ejemplo muestra cómo asignar direcciones IP a una interfaz específica.
$ ip a add 192.168.1.XXX/24 dev eth0
Este comando admite una amplia gama de opciones adicionales. Por lo tanto, no olvides consultar la página de manual.
28. nslookup
La utilidad nslookup es una poderosa herramienta de línea de comandos que permite que los administradores de sistemas obtengan el mapeo de nombres de dominio o direcciones IP al consultar el Sistema de Nombres de Dominio. Está disponible en la mayoría de los sistemas tipo Unix junto con Windows y ReactOS. El siguiente comando muestra el uso principal.
También te puede interesar: 40 comandos dmidecode simples y útiles para Linux
$ nslookup example.com
Proporciona información como el nombre de dominio y la dirección IP del host. Los siguientes comandos muestran todos los registros DNS disponibles.
$ nslookup -type=any example.com
El siguiente comando será para un registro MX para el host especificado.
$ nslookup -type=mx google.com
Comandos de Linux para diagnóstico y resolución de problemas de red
El diagnóstico efectivo de redes es una gran preocupación para la mayoría de los administradores de sistemas. En la siguiente sección, enumeramos algunos comandos útiles para este propósito.
Comandos de red de Linux para estadísticas de recursos
29. netstat
La utilidad netstat muestra las conexiones de red para el protocolo TCP, tablas de enrutamiento, estadísticas de interfaz de red, conexiones de enmascaramiento y membresías de multidifusión. Es uno de los comandos más utilizados para el diagnóstico de red.
$ netstat -a | more
El comando anterior muestra todos los zócalos de red independientemente de su estado actual. Use el siguiente comando para mostrar solo los puertos TCP.
$ netstat -at
Reemplace t con u si desea enumerar los puertos UDP. El siguiente comando mostrará solo los puertos de escucha.
$ netstat -l
Anexar T o T después -l si desea lista sólo la escucha puertos TCP / UDP. Consulte la página de manual para ver todas las opciones disponibles.
30. ping
En los sistemas operativos tipo Unix, el comando ping se usa con frecuencia para determinar la accesibilidad de un host en una red de Protocolo de Internet. Este es un comando de red universal disponible en prácticamente cualquier sistema. El siguiente ejemplo muestra el uso principal de ping.
$ ping example.com
Esto continuará enviando paquetes al host hasta que lo finalice manualmente. Use la opción -c para especificar el número de paquetes.
$ ping -c 5 example.com
También puede determinar el tamaño de los paquetes utilizando el indicador -s .
$ ping -s 40 -i 2 -c 5 example.com
la opción -i se usa para cambiar el intervalo de tiempo de 1 a 2 segundos por defecto.
31. traceroute
El comando traceroute generalmente se usa para mostrar la ruta y medir los retrasos de tránsito de los paquetes a través de la red. Es una herramienta útil para los administradores de sistemas modernos y ofrece muchos conocimientos esenciales. Puede determinar rápidamente la ruta que toma un paquete desde su origen hasta su destino. También es beneficioso para determinar la pérdida de datos.
$ traceroute -4 10 example.com
El -4 se utiliza para especificar que está utilizando IPv4. Reemplace 4 con 6 para paquetes IPv6.
$ traceroute -g xxx.xxx.xxx.xxx example.com
El comando anterior enruta los paquetes a través de la puerta de enlace especificada. Consulte la página de manual para ver todas las opciones disponibles.
32. iftop
La utilidad iftop es uno de los comandos de red de Linux más útiles que proporciona información en tiempo real para diferentes parámetros de red, como el uso de ancho de banda. Si ha usado top o htop, iftop se sentirá bastante similar a ellos. Esta herramienta puede demostrar ser un activo viable para los usuarios modernos de Linux debido a su inmensa utilidad.
$ sudo iftop
Ejecutar este comando como sudo le proporcionará los usos actuales de ancho de banda de sus interfaces de red. Puede especificar qué interfaz monitorear colocando el indicador -i .
$ sudo iftop -i wlp2s0
Solo mostrará información sobre la interfaz inalámbrica. Hay muchas otras opciones disponibles.
33. nload
La utilidad nload es otra herramienta de línea de comandos para monitorear el ancho de banda de su red. Cuenta con algunas capacidades ventajosas, como mostrar la cantidad total de datos transferidos y el uso de ancho de banda mínimo / máximo. Invocar directamente a nload sin ningún argumento mostrará el uso de ancho de banda de cada interfaz disponible.
$ nload
Use las opciones de dispositivos para especificar una interfaz particular, como se muestra en el siguiente ejemplo.
$ nload devices wlp1s0
También puede usar el indicador -t para establecer el intervalo de actualización de la pantalla en milisegundos.
$ nload devices wlp1s0 -t 400
34. ss
El comando ss proporciona información útil relacionada con los sockets de red. Puede mostrar información muy detallada en comparación con otras herramientas de monitoreo de Linux como netstat. Llamar directamente a ss desde el terminal presenta una amplia lista de todas las conexiones, independientemente de su estado.
$ ss -l
Puede especificar que solo se enumeren las tomas de escucha utilizando el indicador -l . El indicador -t se usa para mostrar solo las conexiones TCP.
$ ss -lt
Use el indicador -p para obtener la identificación del proceso de los sockets activos, como se muestra a continuación.
$ ss -p
Puede encontrar más opciones disponibles en su página de manual.
35. whois
La utilidad whois es una herramienta de Linux ampliamente utilizada para obtener información relacionada con el dominio y la IP sobre una red. Funciona como un cliente para el protocolo whois y proporciona información al consultar las bases de datos whois en busca de recursos de red.
$ whois example.com
El comando anterior imprimirá información detallada de recursos de red sobre el host especificado. Dado que este comando proporciona mucha información, puede usar grep para obtener datos específicos.
$ whois example.com | grep -i "Domain ID"
El comando anterior generará las líneas que contienen la ID de dominio del host especificado. También puede usarlo para obtener información adicional, como servidores de nombres y estado del dominio.
Comandos de red para analizar recursos
Analizar los paquetes de red es extremadamente importante tanto para los administradores de sistemas como para los probadores de penetración. En esta sección, repasaremos algunos comandos fundamentales de Linux que permiten hacer esto de manera eficiente.
36. tcpdump
El analizador de paquetes de línea de comandos de facto para Linux es tcpdump. Puede mostrar la transmisión de paquetes TCP a través de la red de manera muy efectiva. Se usa comúnmente para capturar y analizar los tráficos de red debido a su disponibilidad universal.
$ sudo tcpdump -D
El comando anterior muestra qué interfaces están disponibles para capturar paquetes TCP. Puede capturar fácilmente paquetes desde una interfaz específica con el siguiente comando.
$ sudo tcpdump -i eth0
Esto solo capturará los paquetes transmitidos a través de la interfaz Ethernet predeterminada. Consulte la página del manual para explorar todas las opciones posibles.
37. dhclient
La utilidad dhclient es un sólido cliente DHCP (Protocolo de configuración dinámica de host) . Se usa con frecuencia para analizar la dirección IP, la máscara de subred, la puerta de enlace predeterminada y la información del servidor DNS de un cliente. También permite a los administradores liberar la dirección IP de una interfaz de red específica y obtener otras nuevas.
$ sudo dhclient eth0
El comando anterior renovará la dirección IP asignada dinámicamente de la interfaz ethernet eth0 .
38. dstat
La utilidad dstat es una herramienta de línea de comandos extremadamente gratificante para generar estadísticas de recursos del sistema en Linux. Ofrece numerosas funcionalidades robustas y puede ampliarse fácilmente utilizando el lenguaje de programación Python. Es un reemplazo digno de la utilidad vmstat heredada.
$ dstat
La ejecución de este comando sin ninguna opción proporciona una visualización en tiempo real de las estadísticas de recursos del sistema. El siguiente comando genera el uso de la CPU, el proceso que usa la mayor cantidad de CPU y el proceso que consume la mayor cantidad de RAM.
$ dstat -c --top-cpu --top-mem
Consulte su página de manual para más opciones disponibles.
39. tshark
La utilidad Wireshark se encuentra entre los analizadores de paquetes con más funciones. Sus habilidades superan el tcpdump por un margen considerable y es ampliamente utilizado en medicina forense. Puede instalarlo fácilmente usando su administrador de paquetes. El paquete de línea de comandos se llama tshark.
$ sudo tshark -D
Esto enumerará todas las interfaces disponibles que se pueden usar para capturar el tráfico de red. El siguiente comando muestra cómo capturar datos utilizando la interfaz ethernet eth0 .
$ sudo tshark -i eth0
40. hping3
El comando hping3 se usa para invocar la utilidad hping. Es un analizador de paquetes potente y moderno que puede capturar y analizar / ensamblar paquetes TCP de manera muy eficiente. Está disponible en la mayoría de los sistemas Unix, incluidos Linux y BSD .
# sudo hping3
Comenzará la sesión interactiva hping3 donde puede escribir comandos. El siguiente comando captura el tráfico TCP desde la interfaz eth0.
> hping recv eth0
También puede usar hping fuera de su shell interactivo. Consulte la página de manual para aprender cómo hacer esto.
Las robustas capacidades de red de Linux han contribuido en gran medida a su éxito actual. No importa qué tipo de herramienta de red desee, Linux lo tiene cubierto. Sin embargo, la gran cantidad de comandos de red de Linux puede dificultar que muchos usuarios elijan la herramienta adecuada para ellos.
Es por eso que nuestros editores se tomaron la libertad de señalar estos 40 comandos útiles para usted. Puede encontrar al menos una herramienta para cualquier actividad de red. Con suerte, pudimos proporcionarle los conocimientos esenciales que estaba buscando. Déjenos un comentario si desea explorar algunos comandos con más detalle.