LPIC-2 Tema 205.2: Configuración avanzada de red y solución de problemas
Siguiente entrega de los artículos sobre las certificaciones LPIC-2, esta vez con el tema 205.2, es decir, sobre la configuración avanzada de red y solución de problemas. En este tema los candidatos tendrán que poner a prueba competencias sobre manipulación de tablas de enrrutado, configuración y manipulación de interfaces Ethernet, analizar el estado de los dispositivos de red, y también monitorizar y analizar el tráfico TCP/IP.
ÍNDICE:
Comandos necesarios
Entre los comandos que tienes que conocer para este tema están los siguientes:
lsof
lsof significa «list open files», se utiliza en muchos sistemas tipo Unix para obtener una lista de todos los archivos abiertos y los procesos que los abrieron. También podrás utilizarlo para listar conexiones de forma similar a netstat o ss.
La salida de lsof tiene una serie de columnas que es importante conocer:
- Command: nombre del programa.
- PID: ID del proceso correspondiente al programa.
- USER: usuario que inició el proceso.
- FD: descriptor de fichero que puede ser a su vez:
- cwd current working directory
- rtd root directory
- txt program text (code and data)
- mem memory-mapped file
- r for read access.
- w for write access.
- u for read and write access.
- TYPE: identificación de fichero:
- DIR – Directorio
- REG – Archivo regular
- CHR – Fichero de carácter especial
- FIFO – First In First Out
- Device: dispositivo que lo abrió.
- Size/Off: tamaño.
- Node: nodo.
- Name: ruta del programa o proceso.
Algunos ejemplos de uso son:
#Listar los archivos abiertos lsof #Listar los abiertos por el usuario root lsof -u root #Listar os abiertos por el resto de usuarios menos root lsof -u^root #Listar procesos corriendo en un determinado puerto, por ejemplo el TCP 22 (también se pueden usar rangos de puertos separados por -) lsof -i TCP:22 #Listar los ficheros para IPv4 e IPv6 lsof -i 4 lsof -i 6 #Listar todas las conexiones de red lsof -i #Listar por PID lsof -p 111 #Matar la actividad de un usuario particular kill -9 'lsof -t -u usuario'
nc
El comando nc (netcat) es un comando de sistemas Unix que se usa para llevar a cabo diversas tareas de red. Funciona en sistemas nix como Linux, BSD o macOS. Mediante el comando nc puedes conectarte a los puertos TCP/UDP de un host. De este modo podrás conectarte otros servidores usando diferentes protocolos de red. Además, también es posible crear servidores que se mantengan a la escucha de peticiones entrantes. Los puertos se abrirán por defecto mediante el protocolo TCP, aunque también se acepta el protocolo UDP.
#Conectarse a un servidor nc localhost 8000 #Obtener información de un servidor echo "EXIT" | nc 10.10.8.8 22 #Crear un servidor y conectarse desde otra ventana del terminal a dicho servidor (cliente) nc -l 8000 nc localhost 8000 #Enviar un archivo desde el servidor nc -l 8000 < prueba.txt #Guardar contenido recibido en otro fichero nc localhost 8000 > destino.txt #Escaneo de un rango de puertos nc -z -v 10.10.8.8 20-80 #Igual al anterior pero filtrando solo los abiertos nc -z -v 10.10.8.8 20-80 2>&1 | grep succeeded #Más info man nc
tcpdump
tcpdump es una herramienta para línea de comandos cuya utilidad principal es analizar el tráfico que circula por la red. Permite al usuario capturar y mostrar en tiempo real los paquetes transmitidos y recibidos por la red a la cual el ordenador está conectado.
#Capturar paquetes desde la interfaz de red eth0 tcpdump -i eth0 #Capturar solo 5 paquetes tcpdump -c 5 -i eth0 #Mostrar paquetes en ASCII o en Hexadecimal tcpdump -A -i eth0 tcpdump -XX -i eth0 #Mostrar interfaces de red disponibles tcpdump -D #Guardar los paquetes capturados en un fichero y leerlos tcpdump -w prueba.pcap -i eth0 tcpdump -r prueba.pcap #Capturar la IP de los paquetes tcpdump -n -i eth0 #Solo capturar los paquetes TPC tcpdump -i eth0 tcp #Solo capturar paquetes del puerto 22 tcpdump -i eth0 port 22 #Capturar paquetes de una IP específica tcpdump -i eth0 src 192.168.0.2 #O de una IP destino tcpdump -i eth0 dst 50.116.66.139
nmap
nmap («Network Mapper») es un programa de código abierto que sirve para efectuar escaneo de red y rastreo de puertos, con el objetivo de obtener información importante sobre la misma para controlar y gestionar su seguridad.
#Escanear un servidor usando su nombre de host o con una IP (también se puede escanear varios a la vez poniendo el nombre o la IP separadas por espacios) nmap ejemplo.com nmap 192.168.1.11 #Escanear una subred o un rango nmap 192.168.0.* nmap 192.168.0.101-110 #Excluir un host nmap 192.168.0.* --exclude 192.168.0.100 #Escanear información del sistema operativo y traceroute nmap -A 192.168.0.101 #Descubrir información del sistema operativo nmap -O ejemplo.com #Detectar firewall nmap -sA 192.168.0.101 nmap -PN 192.168.0.101 #Escanear un puerto específico, y también puedes escanear varios puertos separados por coma nmap -p 80 ejemplo.com #Escanear versión de servicios nmap -sV 192.168.0.101 #Escáner silencioso nmap -sS 192.168.0.101 #nmap es extremadamente sofisticado y se pueden hacer muchísimas más cosas. Para más información man nmap
Otros
Como ya hemos visto algunos comandos necesarios en temas anteriores, en vez de generar contenido redundante, pongo aquí los enlaces para ver esos otros comandos: