S LINUX
Curso 2012/2013
Fco. Javier Muoz Calle
Francisco Jos Fernndez Jimnez
Jos ngel Gmez Argudo
Ignacio Campos Rivera
-I-
NDICE
1.
2.
3.
1.1
Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2
Objetivo de la prctica . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3
Planificacin de la prctica . . . . . . . . . . . . . . . . . . . . . . . .
1.4
Documentacin de apoyo . . . . . . . . . . . . . . . . . . . . . . . . .
2.1
2.1.1
2.2
2.3
2.4
10
11
3.1
11
3.2
12
3.3
13
3.4
14
3.5
14
3.6
15
3.7
15
-II-
3.8
16
3.9
16
16
17
4.1
. . . . . . . . . . . .
17
4.2
19
5.
22
A.
26
30
31
4.
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
-III-
1.
1.1
Introduccin
En una red de rea local (LAN) los equipos estn configurados de forma que sea posible la comunicacin
entre los mismos, el acceso a otros equipos que proporcionan servicios y el acceso al exterior de
dicha red en el caso de que sea necesario solicitar servicios que no proporcionan los servidores
locales.
El conocimiento de los parmetros y valores con los que estn configurados los equipos de una
red, as como de los mecanismos que permiten la modificacin de dichos valores, es fundamental
en las tareas de administracin y mantenimiento de los ordenadores, equipos de redes, etc.
La monitorizacin de las condiciones en las que est operando la red local a la que un determinado
equipo est conectado, es tambin de gran utilidad para determinar el correcto funcionamiento
de dicha red.
1.2
Objetivo de la prctica
El objetivo de esta prctica es descubrir la configuracin de la red en la que est operando su equipo.
El alumno deber descubrir la configuracin IP de ste (direccin fsica, direccin IP, mscara
de red, servidores, etc.), as como la de otros.
El segundo objetivo de esta prctica es que el alumno se familiarice con el uso de las herramientas
de monitorizacin que existen para redes en las que todos los equipos comparten un medio comn.
El uso de un medio comn, como sucede con las redes Ethernet, puede generar problemas bajo
determinadas condiciones, los cuales pueden prevenirse o detectarse con la utilizacin de las herramientas
aqu estudiadas.
Es importante que el alumno aprenda a administrar su equipo desde un entorno en modo texto,
ejecutando directamente los comandos que le permitan descubrir cmo estn configurados los equipos
de la red, siendo esto relevante dada la inexistencia de entornos grficos en multitud de servidores.
Es importante entender el contenido de los archivos de configuracin antes de manejar otras herramientas
que los modifiquen de forma opaca. ste ser un objetivo que se mantendr en todas las prcticas
del laboratorio.
-1-
1.3
1.4
Planificacin de la prctica
Sesiones de Prcticas de este Tema
Sesin 1
Documentacin de apoyo
"The Debian system: concepts and techniques". Martin F. Krafft. 2005. ISBN: 1593270690.
"Linux bible". Christopher Negus. Indianapolis, IN. Wiley, 2011. ISBN: 9780470929988.
"Pro Linux System Administration". James Turnbull, Peter Lieverdink, Dennis Matotek.
Berkeley, CA. Apress, 2009. ISBN: 978-1-4302-1912-5.
"Linux Network Administrator's Guide (Openbook)". Olaf Kirch, Terry Dawson. O'Reilly,
2000. ISBN: 1-56592-400-2
2.
En este apartado se presentan los ficheros que contienen la configuracin ms bsica de la red del
equipo. Estos ficheros son ledos por diversos scripts implicados en el proceso de arranque del
equipo. Todos ellos son archivos de administracin, por lo que su modificacin requiere permisos
de superusuario.
2.1
Para ver el nombre y configuracin de las distintas interfaces de red existentes en su equipo puede
usar el comando ifconfig -a. Al arrancar el equipo, la configuracin de las distintas interfaces
de red es leda del fichero /etc/network/interfaces. A continuacin se presentan,
a modo ilustrativo, las lneas de dicho fichero empleadas para configurar las siguientes interfaces
(mas informacin en "man interfaces"):
-2-
a)
auto lo
iface lo inet loopback
b) Interfaces correspondientes a tarjetas fsicas Ethernet (las tarjetas WiFi emplearn algunos
parmetros adicionales): pueden configurarse mediante una de las dos opciones siguientes
(en el fichero "interfaces" NO deben aparecer comentarios tras las lneas de configuracin):
Configuracin DHCP de la interfaz eth0:
/etc/network/interfaces
<-- Activar la interfaz en el arranque
<-- Configuracin por DHCP
auto eth0
iface eth0 inet dhcp
Para hacer efectiva la configuracin de dichos ficheros se dispone de los siguientes comandos (empleados
por el sistema en el proceso de arranque del equipo), que deben ser invocados como superusuario:
a)
-3-
NOTA
En algunas distribuciones Linux actuales, tras ejecutar el comando service networking
restart se muestra un aviso indicando que esta opcin est deprecated (desaconsejada)
al no reactivar algunos tipos de interfaces de red (lo que no afecta a las interfaces Ethernet).
Alternativamente a este comando, para garantizar la reactivacin de todas las interfaces de red,
puede ejecutarse:
service networking stop && service networking start
o igualmente:
ifdown -a && ifup -a
Activar
Sintaxis
Ejemplo
ifdown interfaz
ifdown eth0
ifup interfaz
ifup eth0
ifconfig interfaz up
ifconfig eth0 up
-4-
Ejecute el comando " ping 193.147.162.1" para comprobar que su tarjeta de red
funciona correctamente (recuerde que para detener el comando "ping" debe pulsar
"Ctrl-C").
Ejecute el comando "ifconfig" (como root) en otro equipo de la sala que est
encendido para obtener su direccin IP (la llamaremos "IP_A", Recurdela porque
posteriormente se har uso de ella); si alguno de los PCs adyacentes al que est
empleando se encuentra disponible, use dicho PC; en otro caso, solictele a su compaero
que le indique la direccin IP de su equipo. Desde su ordenador, ejecute "ping IP_A"
y compruebe que responde.
TAREAS
ifconfig eth0
ping IP_A
ping 193.147.162.1
ifconfig eth0 down
ping IP_A
ping 193.147.162.1
ifconfig eth0 up
ping IP_A
ping 193.147.162.1
route
ifup eth0
ping IP_A
ping 193.147.162.1
route
ifconfig eth0 down
ifup eth0
ping IP_A
ping 193.147.162.1
route
ifconfig eth0 down
-5-
TAREAS
ifup eth0
ping IP_A
ping 193.147.162.1
route
ifdown eth0
ifup eth0
ping IP_A
ping 193.147.162.1
route
La ejecucin de estos comandos le debe permitir comprobar la diferencia entre los
comandos "ifconfig eth0 up/down" e "ifup up/down".
Si la interfaz contienen una entrada gateway, se establece dicha pasarela como la asociada
a la entrada default. Referente a la entrada por defecto (default) de la tabla de
encaminamiento, debe tenerse que el script networkwing slo activa una entrada
por defecto,
la del ltimo parmetro gateway ledo en el fichero
/etc/network/interfaces. En caso de que manualmente (con el comando "route")
se hayan configurado varias entradas default, al activar una interfaz con el comando ifup
interfaze, slo se ver afectada la primera entrada default, que ser sustituida por la pasarela
configurada para dicha interfaz.
Gateway
*
Genmask
255.255.255.0
-6-
Interface
eth0
default
192.168.0.1
0.0.0.0
eth0
Sobre esta situacin inicial de la tabla de encaminamiento siempre podrn realizarse modificaciones
mediante el comando route.
TAREAS
Advierta como la tabla de encaminamiento de Linux no recoge la interfaz virtual "lo". Cuando
se intenta enviar un paquete, antes de hacer uso de la tabla de encaminamiento Linux comprueba
si el destinatario es el propio equipo, en cuyo caso lo enva por la interfaz local "lo" (no llegando
a hacer uso de la tabla de encaminamiento).
2.2
Para configurar la resolucin de nombres en Linux se emplean los siguientes archivos, de los que
puede obtener ms informacin en el manual "man nsswitch.conf":
Fichero
/etc/hostname
Utilidad
Lneas
/etc/hosts
nombre otros_alias
Resolucin local de
Ejemplo:
nombres
127.0.0.1 localhost local
nameserver IP_servidor_DNS
/etc/resolv.conf
IP servidores DNS
-7-
Ejemplo:
nameserver 150.214.186.69
Fichero
Utilidad
Lneas
/etc/nsswitch.conf
Ordena el orden de
consulta de las bases de datos a usar.
hosts: files dns
Para la resolucin
de nombres
("hosts"), el valor
"files" indica
/etc/hosts)
/etc/host.conf
-8-
TAREAS
2.3
Adems de los ficheros comentados, en Linux existen muchos otros ficheros asociados con las
red. A continuacin se resumen algunos de ellos (puede utilizar el comando "man" para obtener
ms informacin sobre ellos):
Fichero
Utilidad
/etc/protocols
/etc/services
Lneas
-9-
protocolo
ID
otros_alias
Ejemplo:
icmp
ICMP
alias
puerto/tcp_o_udp
Ejemplo:
domain
53/tcp
Fichero
Utilidad
/etc/networks
Nombres subredes
(i.e. lo usa route)
TAREAS
/etc/ethers
2.4
Lneas
Asignacin de IPs a
direccin MAC
(puede usarse para
crear entradas manuales en la cach
ARP: "arp -f
/etc/ethers")
nombre
IP_subred
Ejemplo:
loopnet
127.0.0.0
direccin_MAC
direccin_IP
Ejemplo:
00:01:02:03:04:05 80.10.1.4
Linux permite personalizar gran parte del comportamiento en red a travs de la configuracin del
propio kernel. Para ello, el kernel dispone de mltiples parmetros modificables en tiempo de ejecucin,
accesibles a travs de la carpeta virtual "/proc/sys/". De todos los parmetros del kernel, los
controlan el funcionamiento de la red se encuentran bajo la ruta "/proc/sys/net/". El valor
de estos parmetros puede controlarse de dos formas (consulte la ayuda, man sysctl.conf
y man sysctl, para obtener ms informacin)
a)
-10-
/etc/sysctl.conf
dir1.dir2.parametro=valor
La carga de este fichero de configuracin puede realizarse mediante el comando sysctl
-p, el cual es invocado durante el arranque del sistema (y por el script service network
restart).
b) Modificar manualmente el valor de un parmetro en el kernel (al reiniciar el equipo este
cambio se perder): dos opciones
echo "valor"
>
/proc/sys/carpeta_segun_parmetro/parametro
o haciendo uso del comando sysctl, el cual ya asume que el parmetro se encuentra dentro
de la carpeta virtual /proc/sys/:
sysctl -w carpeta_segun_parmetro="valor"
Entre los diversos parmetro de red del kernel, podemos citar los siguientes a modo de ejemplo:
-11-
TAREAS
En una consola de comandos de su propio equipo (no en la conexin SSH que tiene
abierta con el otro ordenador), desactive la respuesta a las consultas ICMP mediante
el comando:
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
3.
Se comentan aquellos comandos que son tiles para descubrir la configuracin de la red, con una
breve descripcin de las principales opciones de los mismos, debiendo consultar los manuales para
obtener detalles ms precisos acerca del modo de operacin de dichos comandos. Muchos de estos
comandos ya los ha empleado en asignaturas anteriores, por lo que varias de las operaciones que
se proponen le servirn de repaso.
Recuerde que para cambiar la configuracin de su equipo, ser necesario que disponga de los permisos
de root.
3.1
Este comando (interface configuration) se utiliza para configurar las interfaces de red que residen
en el kernel del sistema operativo. En el inicio del sistema puede emplearse para activar las interfaces,
si es necesario. Adems, resulta til para depurar o mejorar el funcionamiento del equipo (consulte
man ifconfig):
-12-
Si slo se le pasa como argumento el nombre de una interfaz, al invocarlo slo presentar
el estado de la misma.
Si pasamos a este comando la opcin -a (y slo esta) mostrar el estado de todas las
interfaces de red, incluso de aquellas que estn desactivadas (down).
En cualquier otro caso, ifconfig servir para configurar una interfaz concreta (activndola
o inhabilitndola, gestionando el uso del protocolo ARP, ...).
TAREAS
3.2
Se utiliza para hacer pruebas de accesibilidad desde un equipo a otro (consulte man ping).
Utiliza el mensaje de solicitud de eco del protocolo ICMP para instar a otro equipo a que le devuelva
un mensaje de respuesta de eco del mismo protocolo (si lo requiere, consulte en la bibliografa el
funcionamiento de este protocolo).
-13-
TAREAS
3.3
ping
ping
ping
ping
ping
ping
ping
ping
ping
ping
ping
su_propia_direccin_IP
(prelo con [Ctrl-C])
-c 4 su_propia_direccin_IP
-c 4 -i 3 su_propia_direccin_IP
-w 5 su_propia_direccin_IP
-w 8 -i 3 su_propia_direccin_IP
www.esi.us.es
-r www.esi.us.es
IP_A
-r IP_A
193.147.162.1
-r 193.147.162.1
Este comando permite manipular las tablas de rutas IP que tiene el kernel (consulte man route).
El comando route se usa principalmente para establecer rutas estticas a mquinas o redes especficas,
a travs de una interfaz, despus de que dicha interfaz haya sido configurada con ifconfig.
Las opciones add y del se utilizan para que el comando route aada o borre una
determinada ruta, sea de subred o de pasarela.
TAREAS
-14-
3.4
El comando traceroute se utiliza para realizar el seguimiento de la ruta que sigue un paquete
hasta alcanzar su destino. El nico parmetro obligatorio es la direccin IP o el nombre del equipo
de destino (consulte man traceroute).
TAREAS
3.5
traceroute
traceroute
traceroute
traceroute
traceroute
traceroute
traceroute
traceroute
traceroute
su_propia_direccin_IP
ait08.us.es
trajano.us.es
www.esi.us.es
IP_A
-r IP_A
193.147.162.1
-r 193.147.162.1
-I 193.147.162.1
Este comando (network statistics) permite ver, entre otras cosas, las conexiones de red establecidas,
tablas de rutas, estadsticas de las interfaces, etc. (consulte man netstat):
El primer argumento que se le pasa al comando controla el tipo de informacin que dicho
comando mostrar.
Si se desea obtener un listado de todos los sockets activos actualmente puede usarse el comando
netstat -l (no debe confundirse con la informacin aportada por el comando "service
--status-all, el cual indica los servicios que estn configurados para que se activen al arrancar
el sistema).
TAREAS
-route
-l
-t
-u
-w
-x
--status-all
-15-
3.6
Este comando (network mapper) representa una potente herramienta para el escaneo del estado
de los puertos y servicios en una red, permitiendo analizar la seguridad de una red. Se basa en el
envo de paquetes IP para determinar qu ordenadores estn disponibles en la red, qu servicios
(puertos) estn ofreciendo, qu sistemas operativos (y que versin) estn corriendo, qu tipo de
filtros o muros de seguridad se est usando, y docenas de otras caractersticas (consulte man
nmap).
Uno de los usos ms tpicos del comando es comprobar qu mquinas se encuentran activas en
una red (o, al menos, qu mquinas responden a solicitudes de eco ICMP, puesto que, como se
vio anteriormente, puede configurarse un sistema para que no responda a estas solicitudes) o los
puertos abiertos en una determinada mquina.
TAREAS
3.7
nmap
nmap
nmap
nmap
nmap
-sP 172.16.4.0/24
-p 80,8080 su_propia_direccin_IP
-sS -O su_propia_direccin_IP
-p 80,8080 IP_A
-sS -O IP_A
El protocolo ARP (Address Resolution Protocol) permite la obtencin de la direccin fsica (MAC)
correspondiente a la direccin de red de una mquina existente en la misma red local (ARP es
un protocolo de nivel de enlace), usando para ello el envo de un mensaje ARP Broadcast. La informacin
obtenida a partir del protocolo ARP es almacenada dinmicamente por el kernel en la cach ARP.
El comando arp manipula la cach ARP (almacena las asociaciones MAC/IP) de varias formas
(consulte man arp). Recuerde: el comando arp slo opera sobre la cach ARP, no tiene
ninguna influencia sobre el protocolo ARP, el cual es controlado nicamente por el kernel.
La cach ARP se encuentra almacenada dentro del propio kernel, pudiendo acceder a ella con
el comando arp o, equivalentemente, mediante cat /proc/net/arp.
Con objeto de acelerar la traduccin entre direcciones fsicas e IP, puede crearse el fichero
/etc/ethers, ya mencionado anteriormente, con las asociaciones que resulten ms usuales,
cargando su informacin mediante el comando "arp -f /etc/ethers".
-16-
TAREAS
3.8
arp
arp -a
ping IP_A
arp IP_A
arp 193.147.162.1
ping 193.147.162.1
arp -d IP_A
arp IP_A
ping IP_A
arp
Ambos comandos (host y name server look up) corresponden a utilidades DNS para realizar
conversiones entre nombres de red y direcciones IP (bsicamente, se diferencian entre s en el formato
de los datos presentados).
TAREAS
3.9
host www.esi.us.es
host esi.us.es
nslookup ait08.us.es
host 193.147.162.169
nslookup 193.147.162.130
Este comando (domain information groper) ofrece informacin relacionada con los servidores DNS,
estando determinado su funcionamiento por la RFC 1035 (consulte "man dig").
TAREAS
-17-
TAREAS
4.
ip
ip
ip
ip
ip
route
addr
link
neigh
maddr
Un sniffer, rastreador, monitor de red o analizador de protocolos es una herramienta para capturar
e interpretar el trfico que circule por el tramo de red en el que se encuentre el equipo. Mediante
este mtodo se pueden capturar claves de acceso, datos que se transmiten, nmeros de secuencia,
etc...
Estos programas suelen usar el modo promiscuo de las interfaces de red, bajo el cual la interfaz
permite capturar toda la informacin que transcurra por el tramo de red al que est conectada,
y no solamente los paquetes dirigidos a ella.
En esta prctica se utilizarn los siguientes analizadores de protocolos sobre una red Ethernet:
Ambas se basan en la librera de captura pcap (libpcap en sistemas Linux y winpcap en sistemas
Windows). Esto lleva a que presenten muchas caractersticas comunes: misma sintaxis para definir
filtros de capturas, similar informacin proporcionada,... En el Anexo A de esta prctica se recoge
la Sintaxis de definicin de expresiones de filtrado empleada para escribir las expresiones de
filtrado usadas por los dos analizadores que a continuacin se estudian.
4.1
-18-
Parmetros
Funcionalidad
-c
-i
-n
Cuando se est monitorizando la red puede que no interese que tcpdump intente
resolver los nombres de las maquinas (por motivos de seguridad por ejemplo).
Para ello se dispone de la opcin -n.
-s
Para establecer la longitud de los datos que captura tcpdump usamos -s len,
donde len es la longitud que nos interesa. Por defecto, tcpdump slo captura
los primeros 65535 bytes, lo cual es til si lo nico que se quiere son las cabeceras
IP, TCP o UDP, pero en caso de estar analizando protocolos como NFS se truncan
los datos. En ese caso se puede ajustar la longitud de la captura a la MTU (Maximun
Transmission Unit) del medio que se est usando. Por ejemplo, para capturar
toda la trama Ethernet se puede usar -s 1500.
-v
-x
-r, -w
Se puede trabajar offline con tcpdump. Para grabar la captura para posteriormente
leerla y analizarla se utiliza la opcin -w file donde file es el nombre
del fichero donde se grabar la captura de datos. Posteriormente se puede leer
y analizar offline con -r file. Adems este tipo de ficheros de captura lo
pueden leer otros analizadores como, por ejemplo, wireshark.
Tal como se ha indicado, para que tcpdump sea capaz de capturar todos los paquetes que llegan
al equipo (no slo los destinado a l) resulta necesario que la interfaz de red sea configurada en
modo promiscuo. Puede hacerse esto haciendo uso del comando ifconfig:
ifconfig eth0 promisc
Para eliminar el modo promiscuo bastara usar el comando recproco:
ifconfig eth0 -promisc
-19-
Haga pruebas con todas las anteriores opciones del comando tcpdump y analice
los resultados.
TAREAS
Detectar los paquetes de su subred cuyo puerto origen o destino sea el 80. Mientras
realiza la captura, intente acceder a una pgina Web que estuviese alojada en
otro equipo distinto al suyo. Guarde la captura anterior en un fichero para
posteriormente poder analizarla usando wireshark.
Obtener la IP asociada a una determinada direccin fsica.
Detectar el ataque conocido como smurf (envo de solicitudes ping a la direccin
de difusin de la red).
Detectar una configuracin errnea de red, comprobando si una determinada IP
(la de su equipo por ejemplo) est siendo usada por ms de una mquina (haga
uso para ello de la comprobacin de la direccin fsica).
4.2
Esta aplicacin, que ya ha empleado en asignaturas anteriores, permite analizar paquetes de forma
interactiva o desde un archivo en el que previamente se haya realizado una captura de informacin.
Para arrancarla basta ejecutar el comando "wireshark &".
TAREAS
Active la captura de paquetes para el puerto 22 en la interfaz local "eth0". Tras ello,
conctese mediante el servicio SSH al equipo con IP_A y ejecute en l el comando
"ls". Tras ello, salga de la sesin SSH. Detenga la captura y analice la informacin.
-20-
Repita el paso anterior, pero en lugar de usar el filtro de captura use el filtro de
visualizacin:
ip.addr == direccin_IP_interfaz_eth0 and tcp and tcp.port
== 80
TAREAS
dhclient -v
Detenga la captura en wireshark y analice la informacin obtenida. Observe la informacin
que el servidor DHCP le da al cliente y la MAC que manda el cliente al servidor.
6
Active la captura de paquetes en la interfaz local "eth0" con el filtro de captura "icmp".
Ejecute los comandos:
ping 127.0.0.1
ping 127.4.5.128
ping IP_de_su_interfaz_eth0
Compruebe que no ha captura nada a consecuencia de esos comandos. Detenga la
captura.
Vuelva a active la captura de paquetes con el filtro de captura "icmp", pero ahora
sobre la interfaz local "lo". Ejecute los comandos:
ping 127.0.0.1
ping 127.4.5.128
ping IP_de_su_interfaz_eth0
-21-
TAREAS
10 Mediante el comando "arp -n", mire cual es la direccin MAC_A asociada al equipo
IP_A y gurdela en el fichero "/etc/ethers" aadiendo en ste la lnea "MAC_A IP_A".
Mediante el comando "arp -d IP_A", vuelva a eliminar en la cach ARP la entrada
correspondiente al equipo con direccin IP_A. Ejecute "arp -n" para comprobar que
se ha eliminado correctamente la MAC. Tras ello, ponga de nuevo wireshark a capturar
en la interfaz eth0 con el filtro de captura "ether proto arp". Ejecute el comando "ping
IP_A" y compruebe en wireshark como ahora no se estn enviando mensajes ARP
de solicitud y respuesta para obtener la direccin MAC_A del equipo IP_A (al haber
sido aadida manualmente en la cach ARP). Detenga la captura.
Dado que tanto TcpDump como Wireshark se basan en la misma librera de captura, una captura
realizada con TcpDump puede ser visualizada posteriormente con Wireshark.
Realice las siguientes operaciones:
TAREAS
-22-
5.
Los tests de cada prctica son Exmenes. El examen es INDIVIDUAL. Durante la realizacin
del Test no deber hablar ni mirar la pantalla de otro compaero. El incumplimiento
de estas normas podr ser interpretado como un intento de copia por parte del alumno,
al que se le podr expulsar de la sala y aplicarle las sanciones pertinentes.
Slo podrn realizar el tests los alumnos presentes en la clase en la que se lleve a cabo
su realizacin. Cuando el profesor realice el control de la asistencia, deber presentarle
su DNI o documento de identificacin equivalente. Sitelo en lugar visible.
Salvo por problemas sobrevenidos, se exigir que cada alumno asista, tanto para la clase
como para la realizacin del Test, a la sala que tiene asignada conforme a su subgrupo
de prcticas.
Para garantizar una adecuada realizacin del examen, el profesor podr indicar una
redistribucin de los alumnos en el aula.
Durante la realizacin del test deber mirar nicamente a su pantalla. Cualquier intento
de mirar la pantalla de otro compaero, as como hablar con ste, podr ser sancionado.
-23-
Durante los Tests, podr usar el ordenador (incluso Internet), as como usar la documentacin
que estime oportuna, pero tenga en cuenta que la duracin de los Tests es breve, por
lo que si invierte un tiempo excesivo en buscar, probablemente no tenga tiempo suficiente
para terminar el Test.
Si durante la realizacin del examen tiene problemas con el tamao de la letra, recuerde
que siempre puede agrandarla o achicarla mediante las opciones de visualizacin de
su Navegador, o mediante las pulsaciones Ctrl-[+] o Ctrl-[-] (siendo [+], [-]
del teclado numrico).
II) NORMAS PARTICULARES DE CADA TEST (podran variar de un Test a otro, revselas siempre)
El Test consta de 5 cuestiones, todas igualmente ponderadas ("2 puntos", sobre 10, por
cuestin).
La cuestin mal contestada descuenta 1/3 de una cuestin bien contestada, sobre el total
del Test (una cuestin no contestada no puntuar, ni positiva ni negativamente).
Si alguna pregunta del Test tuviese que ser anulada, su puntuacin sera distribuida
entre las dems cuestiones del Test.
Tras ello, levante la mano para que el profesor acuda a su puesto de trabajo y compruebe
que todo est correcto.
NOTA:
-24-
netstat
(b)
nmap
(c)
ip
2) La activacin del modo promiscuo en una interfaz habilita a sta para que capture mensajes
para los que no somos el destinatario:
(a)
A nivel de enlace
(b)
A nivel IP
(c)
3) Los filtros de visualizacin son adecuados para reducir el tamao en disco que puede ocupar
una captura realizada:
(a)
Cierto
(b)
No afectan
(c)
(b)
(c)
-25-
Falso
(b)
(c)
Cuestin
Solucin
(c)
(a)
(b)
(c)
(a)
APAGUE EL EQUIPO
Cuando finalice la prctica no olvide apagar el equipo. Para ello:
1
Apague el "equipo" de la mquina Linux Debian, bien desde la opcin "Apagar" del
escritorio KDE o Gnome, o bien mediante el comando "poweroff".
Una vez en el Ubuntu desde el que entr en la mquina virtual, apague finalmente el
ordenador usando la opcin "Apagar".
-26-
A.
Este punto tiene como objeto describir la sintaxis de las expresiones de filtrado utilizadas en los
programas basados en la librera pcap. Se harn pruebas con tcpdump, pero todo es igualmente
aplicable a wireshark o dems aplicaciones basadas en esa librera.
Un filtro o expresin de filtrado tiene por objeto indicar las caractersticas de la captura a realizar.
En ausencia de sta se capturar todo el trfico que vea el adaptador de red. La sintaxis de un filtro
es un conjunto de primitivas enlazadas por operadores:
Primitiva operador Primitiva
donde cada primitiva est formada por un calificador y su valor asociado:
calificador valor
siendo:
a) Modificador o calificador: establece la propiedad que se desea especificar. Los 3 modificadores
posibles son:
Tipo: puede ser host, net o port. Indican, respectivamente, una maquina (por ejemplo
host 172.16.17.1), una red completa (por ejemplo net 172.16), o un puerto
concreto (por ejemplo port 22). Por defecto es host.
Direccin: especifica desde o hacia donde se va a mirar el flujo de datos. Puede ser src
(direccin fuente) o dst (direccin destino), y podemos combinarlos con or y and.
Para el caso de protocolos punto a punto se puede sustituir por inbound (flujo entrante)
u outbound (flujo saliente). Por ejemplo si se quiere direccin destino 172.16.17.2
y origen 193.147.162.169, el filtro sera:
dst 172.16.17.2 and src 193.147.162.169
Si se quiere que sea la direccin destino 172.16.17.2 o la direccin origen
193.147.162.169, sera:
dst 172.16.17.2 or src 193.147.162.169
Si no existe este modificador se supone src or dst.
Protocolo: protocolo a capturar, pudiendo ser tcp, udp, ip, ether (en este caso captura
tramas a nivel de enlace), arp (peticiones arp), rarp (peticiones reverse-arp), fddi
-27-
(para redes FDDI, cuyo encapsulado es similar a ether). Existen otros protocolos ms
para nivel de enlace, pero su uso es escaso.
b) Valor o ID de la primitiva: valor numrico o nombre alfanumrico del calificador asociado.
Pueden representar nombres de host, direccines IP, nmeros de puertos y otros valores de filtrado.
Las primitivas completas que se pueden definir usando los anteriores calificadores son las siguientes
(lo que aparece entre [ y ] es opcional, y el smbolo | significa "o"):
I) Calificador Tipo:
a)
b) [dst|src] net red: direccin de red destino, origen o ambas. El parmetro red
puede ser una direccin numrica (por ejemplo 192.168.1.0) o bien un alias que se
resuelva a direccin (en los sistemas Unix se obtiene con ayuda del fichero /etc/networks).
Decir que tambin se admite el clsico direccionamiento CIDR, que permite especificar
una mscara usando net IP_red mask mascara o bien net red/bits
(nmero de bits a 1 de la mscara); y hacer notar que el uso de net ... mask no
es compatible con direcciones IPv6. Ejemplos:
Capture todo el trfico cuya red destino sea 172.16.17.x (cambie x por 0
128 segn la subred del laboratorio en la que se encuentre su equipo):
tcpdump dst net 172.16.17.x
Capture todo el trfico cuya red origen sea 172.16.17.0/24, esto es, capture todos
los paquetes cuya direccin IP origen est en el rango comprendido entre 172.16.17.0
y 172.16.17.255 (los dos comandos indicados son equivalentes):
tcpdump src net 172.16.17.0 mask 255.255.255.0
tcpdump src net 172.16.17.0/24
-28-
Capture todo el trfico con origen o destino 172.16.17.0/24, esto es, capture todos
los paquetes cuya direccin IP origen o destino est en el rango comprendido entre
172.16.17.0 y 172.16.17.255 (los dos comandos indicados son equivalentes):
tcpdump net 172.16.17.0 mask 255.255.255.0
tcpdump net 172.16.17.0/24
c)
[dst|src] port puerto: puerto del paquete (ya sea udp o tcp). El puerto es
un valor numrico entre 0-65535 o bien un nombre que en Unix se resuelve a travs del
/etc/services. Ejemplos:
Capture todo el trfico con destino al puerto 23 (telnet):
tcpdump dst port 23
Capture todo el trfico con destino u origen puerto 80 (www):
tcpdump port 80
-29-
ether broadcast: captura las tramas dirigidas hacia la direccin de difusin Ethernet
(todos los bits a 1"). La palabra ether es opcional.
d)
ether multicast: captura las tramas dirigidas a una direccin multicast ethernet
(primer bit a uno).
e)
-30-
f)
g)
h)
A.1
less|greater longitud: captura los paquetes cuyo tamao sea menor, mayor
o igual a la longitud indicada.
Combinacin de Filtros
Se pueden combinar las expresiones anteriores con los ayuda de los operadores not, and y
or (corresponden a la "negacin", el "y lgico" y el "o lgico"), dando lugar a filtros ms complejos.
Se pueden usar tambin los equivalentes del lenguaje C: !, && o ||.
Siempre se pueden combinar expresiones con ayuda de parntesis. El uso de parntesis permite
que los grupos de expresiones de filtrado sean evaluados juntos como una sola primitiva virtual.
En los shell de Unix, los parntesis deben escaparse (anteponer el simbolo \ antes del carcter
especial para que no se interprete como tal carcter especial) porque son metacaracteres que se
interpretan (esto es aplicable a tcpdump, que se ejecuta bajo la Shell, pero no a wireshark
pues ste usa interfaz X-Windows). Ejemplos:
-31-
A.2
Filtros avanzados
La sintaxis de los filtros de capturas permite hacer filtros a mano, indicando qu bytes de la trama
se desean capturar e interpretarlos. Cuando queremos definir filtros de esta manera la expresin
general es (en el manual man tcpdump se ofrece informacin detallada sobre la sintaxis de
estos filtros avanzados):
expr relop expr
donde:
relop puede ser cualquiera de las operaciones de relacin de C: > ,< , >=, <=, = y
!=.
expr es una expresin aritmtica compuesta por una serie de nmeros enteros, los operadores
binarios de C, (+, -, *, /, & y |), un operador de longitud len, y una serie
de palabras reservadas que nos permiten el acceso a los diferentes paquetes de datos (ether,
fddi, tr, ip, arp, rarp, tcp, udp, icmp, ip6).
-32-
src
Origen
dst
Destino
Por omisin
src or dst"
valor
host
net
port
portrange
Filtros especiales
ip/ip6 broadcast
ip/ip6 multicast
Mensajes capturados
protocolo_red
protocolo_transporte
Alias (para todos
igual)
ip6
procedencia
ether
procedencia
dst
host
MAC destino
(o alias de /etc/ethers)
src
valor (ninguno
MAC origen
(o alias de /etc/ethers, man ethers)
por omisin)
valor
Filtros especiales
Alias
Mensajes capturados
dst MAC de difusin (1...1)
broadcast = ether broadcast
dst MAC multicast (10...0)
multicast = ether multicast
Paquetes que han llegado atravesando el router; debe usar /etc/hosts y
gateway Name_router /etc/ethers (igual: ether host MAC_router and not ip host IP_router)
ether broadcast
ether multicast
protocolo_red
*)
NOTA: Los escapados "\" son necesarios en la lnea de comandos (tcmdump, ...), al ser variables/comandos
(doble escapado) o metacaracteres (simple escapado) del sistema, pero no en la interfaz grfica de wireshark.
-33-
Ejemplos
172.16.17.2
172.16.17.1
Inet
172.16.17.254
Hub
Subred A
172.16.17.0/25
Router
(ait08)
172.16.17.126
MAC: 00:4f:4e:0f:fa:2c
172.16.17.228
Hub
Subred B
172.16.17.128/25
Trfico a capturar
Todo el trfico (slo til para pequeas capturas)
-34-