You are on page 1of 20

Prctica 3: Uso de herramientas y anlisis de paquetes

Autores: Enrique Bonet Rogelio Montaana Paco Soriano

Objetivo y descripcin general.


El objetivo de esta prctica es analizar el comportamiento de los protocolos de redes ms comunes mediante sencillas herramientas, generalmente comandos, disponibles en Linux. Se puede obtener ayuda sobre los protocolos, los comandos y sus parmetros con el comando man1 de Linux, cuyo uso ser necesario en muchos casos para obtener la opcin o parmetro adecuado a indicar en el comando a ejecutar. Esta prctica se desarrolla utilizando los ordenadores con el sistema operativo Linux redes. Los ordenadores debern estar conectados a la red de la universidad en todo momento, utilizando para ello rosetas de nmero impar. Las rosetas de nmero impar estn conectadas a puertos de un hub de 10 Mb/s, mientras que las rosetas de nmero par estn conectadas a puertos de 100 Mb/s de un switch; aunque el switch da mayor rendimiento en esta prctica resulta ms interesante utilizar el hub porque permite husmear el trfico de otros ordenadores del laboratorio. La mayor parte de la prctica se desarrolla de forma independiente en cada ordenador, salvo el experimento de cambio de MAC que se hace por parejas de ordenadores. En cada ordenador debera haber a ser posible uno y como mximo dos alumnos. El alumno deber contestar las preguntas planteadas y anotar en las zonas reservadas al efecto la respuesta obtenida, pues ello facilitar su posterior estudio. Antes de comenzar la prctica acurdate de apagar el cortafuegos con: service iptables stop

En el apndice A de la prctica se encuentra una breve explicacin del uso del comando man de Linux.

Redes

Desarrollo de la prctica.
1.- hostname. El comando hostname permite obtener el nombre del ordenador en que nos encontramos. Cul es el nombre del ordenador de prcticas?.

Respuesta:

2.- host y nslookup. Los comandos host y nslookup2 muestran informacin de la direccin IP de un ordenador, del nombre de un ordenador conocida su direccin IP, e incluso proporcionan datos de los servidores de nombres que se utilizan en las consultas. Cul es la direccin IP del ordenador lab3inf14.uv.es?.

Respuesta:

Y la del ordenador glup.uv.es?.

Respuesta:

Y la del ordenador robotica.uv.es?.

Respuesta:

A la vista de las respuestas anteriores Puede un ordenador responder a ms de un nombre?.


El comando nslookup est disponible en todos los sistemas operativos Unix (incluido Linux) y Windows. El comando host solo est disponible en Linux, pero tiene mas funcionalidades que nslookup.
2

P3-2

Prctica 3: Uso de herramientas y anlisis de paquetes

Respuesta:

Qu servidores de nombres (DNS) existen en la universidad de Valencia (dominio uv.es)?. Qu ordenador es el servidor primario (SOA)?. Si ejecutas host sin ningn parmetro obtendrs la lista de todos los posibles parmetros e informacin sobre su uso.

Respuesta:

En el fichero /etc/resolv.conf se almacena informacin sobre el dominio en el que se encuentra tu ordenador y los servidores DNS a los que se consulta. Comprueba este fichero y relaciona lo que hay escrito con el resultado de la pregunta anterior.

Respuesta:

El comando host tambin permite obtener el nombre de un ordenador dada su direccin IP. Ejecuta ahora el comando host 147.156.222.65 Qu nombre tiene ese ordenador?

Respuesta:

P3-3

Redes 3.- ifconfig y arp. Los comandos ifconfig y arp han sido utilizados en prcticas anteriores para modificar las direcciones IP de los ordenadores y consultar la tabla ARP cache, que es la correspondencia entre direcciones MAC e IP que almacena el ordenador. Ahora veremos como es posible modificar la direccin MAC de un ordenador y asignarle la direccin que queramos3. Para ello, debemos ejecutar el comando ifconfig eth0 que nos dar informacin de la tarjeta de red (de la primera en caso de que tengamos varias). De los datos obtenidos debemos anotar la direccin MAC.

Direccin MAC de nuestro ordenador:

Los primeros 6 bytes de la MAC nos dan informacin sobre el fabricante. Puedes buscar esta informacin en http://standards.ieee.org/regauth/oui e indicar el fabricante de tu tarjeta de red.

Respuesta: Como cualquier modificacin de los parmetros de red mediante ifconfig borra la tabla de rutas existente, antes de usar este comando debemos averiguar mediante el comando route n la direccin IP del router por defecto de nuestro ordenador.

Direccin IP del router por defecto:

El siguiente experimento debe realizarse con los ordenadores agrupados por parejas, por tanto nos debemos poner de acuerdo con los compaeros de un ordenador vecino, les preguntaremos su direccin IP y haremos ping a su ordenador, ejecutando despus el comando arp a. De esta forma obtendremos la direccin MAC de su ordenador.

Direccin MAC del ordenador vecino:

Esta modificacin es temporal, en caso de que el ordenador se reinicie recuperar la direccin MAC que le asign el fabricante a la tarjeta de red.

P3-4

Prctica 3: Uso de herramientas y anlisis de paquetes Ahora vamos a modificar nuestra direccin MAC. Pero antes debemos decidir cual ser la nueva direccin. Podemos poner cualquier secuencia de dgitos hexadecimales, procurando que no haya direcciones duplicadas en la LAN. Si asignamos direcciones MAC al azar el riesgo de direcciones duplicadas es pequeo, pero no nulo. Adems la LAN abarca no solo el laboratorio sino todo el edificio, por lo que no resulta fcil averiguar que MACs estn en uso en un momento dado. Para resolver este problema utilizaremos direcciones locales. Sabemos que en la LAN solo se estn utilizando direcciones globales, no locales. Por tanto si las nuevas MAC son locales no habr riesgo de duplicados con el resto del edificio. Las direcciones MAC locales se caracterizan por llevar a 1 el penltimo bit del primer byte. Si tomamos la direccin global de nuestro ordenador, que tiene este bit a cero, y lo cambiamos a 1 manteniendo el resto igual habremos creado una direccin local que ser nica en toda la LAN. Para cambiar dicho bit lo que haremos sencillamente es sumar 2 al segundo dgito hexadecimal de nuestra direccin. Por ejemplo si la MAC global de nuestro ordenador es la 3A:08:02:6B:B7:0C la direccin MAC local correspondiente ser la 3C:08:02:6B:B7:0C. Una vez decidida la nueva direccin MAC ejecutaremos la siguiente secuencia de comandos: ifconfig ifconfig ifconfig ifconfig eth0 down eth0 hw ether XX:XX:XX:XX:XX:XX eth0 up eth0

Con el ltimo comando comprobamos que en efecto el cambio ha tenido lugar. Al usar el comando ifconfig se ha borrado la ruta por defecto. Por tanto debemos definirla nuevamente mediante el comando: route add net 0.0.0.0 netmask 0.0.0.0 gw direccin_IP donde direccin_IP es la direccin IP de nuestro router por defecto, que hemos anotado anteriormente. Antes de seguir debemos esperar a que nuestros compaeros lleguen a este punto de la prctica. Ahora volveremos a ejecutar un ping a la direccin IP de nuestros compaeros. Funciona? En caso de que no funcione Hay alguna explicacin?

Respuesta:

Quiz el comando arp a nos ayude a encontrarla.

P3-5

Redes A continuacin borraremos la entrada del ordenador de nuestros compaeros en nuestra tabla ARP cache mediante el comando arp -d direccin IP, donde direccin IP es la del ordenador de nuestros compaeros. Puede ocurrir que ya haya caducado la asignacin y no har falta borrarla. Ahora volveremos a ejecutar un ping a la direccin IP de nuestros compaeros, y ejecutaremos a continuacin el comando arp a, Ha funcionado el ping? Qu direccin MAC aparece relacionada con la direccin IP de nuestros compaeros?. Si estuviramos conectados a un switch y viramos la tabla de direcciones MAC veramos tambin all reflejada la nueva direccin.

Respuesta:

4.- ethtool. El comando ethtool permite visualizar y modificar los parmetros de funcionamiento de una interfaz, as ethtool eth0 permite visualizar los parmetros de funcionamiento de la interfaz eth0. Ejecutar ethtool sobre el dispositivo eth0 y obtener la velocidad de funcionamiento y el modo duplex (half-duplex o full-duplex).

Respuesta:

Uno de los parmetros que se indica en la respuesta anterior es el modo de autonegociacin (on u off). Por defecto, el dispositivo de red arranca con la auto-negociacin en on, para negociar sus parmetros con el switch, hub, etc., al que se encuentre conectado. Consultando la pgina de man de ethtool, Qu comando hemos de ejecutar para poner el modo en off?.

Respuesta:

P3-6

Prctica 3: Uso de herramientas y anlisis de paquetes Una vez hemos desactivado la auto-negociacin, modificar el modo de transmisin de half-duplex a full-duplex, Qu comando hemos ejecutado?.

Respuesta:

Modificar ahora la velocidad de transmisin de los 10 Mb/s actuales a 100 Mb/s. Qu comando es necesario ejecutar?.

Respuesta:

Por qu no es posible ejecutar ninguna conexin desde el ordenador al cambiar la velocidad?.

Respuesta:

Restaurar los valores anteriores es tan sencillo como activar otra vez el modo de auto-negociacin. Activar dicho modo para que se restauren los valores correctos. Una vez restaurado el estado, pasaremos a ver estadsticas del dispositivo. Ejecutar el comando con la opcin -S y obtener datos sobre los paquetes y bytes transmitidos y recibidos, etc.

Respuesta:

P3-7

Redes La opcin -t permite realizar un chequeo del dispositivo de red, pudiendo funcionar en modo online, en el cual no se interrumpe el funcionamiento de la red, u offline, en el cual el chequeo es ms riguroso, pero se detiene brevemente el funcionamiento de la red. Ejecuta el chequeo en modo online y explica la respuesta obtenida.

Respuesta:

5.- netstat. Este comando muestra estadsticas de los protocolos IP, TCP, UDP e ICMP y el estado de las conexiones que utilizan el protocolo de transporte TCP. Ejecuta netstat -t y escribe la respuesta obtenida.

Respuesta:

Ejecuta ahora una conexin FTP a glup.uv.es mediante el comando ftp. Utiliza como usuario anonymous y como contrasea tu direccin de e-mail usuario@alumni.uv.es. Mientras la conexin de FTP este activa ejecuta otra vez netstat -t y explica los cambios existentes.

Respuesta:

Abre ahora el navegador web y efectua una conexin al servidor web de la universidad (www.uv.es). Ejecuta netstat -t y analiza la respuesta obtenida.

Respuesta:

P3-8

Prctica 3: Uso de herramientas y anlisis de paquetes La opcin -s proporciona datos sobre los paquetes transmitidos y recibidos de los protocolos IP, TCP, UDP e ICMP. Ejecutalo y escribe el nmero de paquetes IP, TCP, UDP e ICMP transmitidos y recibidos.

Respuesta:

Ejecuta ahora el comando ping 147.156.222.65 seguido de netstat s y observa que protocolos han modificado sus valores.

Respuesta:

Ejecuta el comando host glup.uv.es. Qu protocolos han modificado sus valores?.

Respuesta:

6.- traceroute Este programa determina el camino hacia un destino enviando datagramas con valores crecientes del parmetro TTTL (Time To Live) para el destino especificado. Las implementaciones de Windows (tracert) envan paquetes ICMP Echo request (como el ping) mientras que las de Linux/UNIX utilizan por defecto datagramas UDP, aunque tambin tienen la posibilidad de enviar paquetes ICMP Echo request e incluso TCP SYN. Cuando un paquete llega a un router este decrementa el valor del campo TTL en 1 antes de reenviarlo. Cuando el TTL vale 0 el router descarta el paquete y devuelve al sistema de origen un mensaje ICMP Time Exceded. Para determinar la ruta, traceroute enva un primer paquete con un TTL de 1 y lo incrementa paulatinamente en 1 cada vez, hasta que el destino responda o se alcance el TTL mximo. Existen diversos motivos por los que el comando traceroute puede fallar, por ejemplo que en algn router del camino se hayan configurado interfaces con direccionamiento privado, que se haya desactivado el envo de mensajes ICMP, que exista un cortafuegos en el camino, etc.

P3-9

Redes Anotar el camino existente desde el ordenador de prcticas hasta el ordenador glup.uv.es.

Respuesta:

Ejecutar lo mismo con shackleton.uv.es (servidor DHCP de Blasco Ibez).

Respuesta:

La opcin -n indica a traceroute que no resuelva los nombres de los routers que aparecen en el camino, lo cual incrementa la velocidad de funcionamiento del comando. Ejecuta traceroute www.berkeley.edu seguido de traceroute n www.berkeley.edu y compara el tiempo (www.berkeley.edu es el servidor web de la Universidad de Berkeley). Ejecuta ahora traceroute www.uv.es .Vers que el comando no funciona, da una posible explicacin del resultado obtenido.

Respuesta:

7.- wireshark. Wireshark es el analizador de protocolos ms popular en la actualidad. Se trata de un software de dominio pblico que est desarrollado para mltiples plataformas de sistemas operativos y mltiples interfaces fsicas. El software puede obtenerse de forma gratuita de www.wireshark.org. Este programa es una evolucin del conocido como Ethereal, pero su principal desarrollador pas a trabajar para otra empresa y por problemas de registro de marcas tuvo que cambiarle el nombre. Wireshark tiene una interfaz grfica. Cuando se utiliza sobre una interfaz Ethernet puede funcionar en modo promiscuo y capturar todas las tramas de la red, o bien en modo no promiscuo y capturar solo las tramas dirigidas a su interfaz. Aunque posee muchas opciones de inicio, lo ms normal es ejecutarlo sin ningn tipo de opcin y configurarlo durante su uso. Las imgenes que se muestran a continuacin corresponden a su antecesor, Ethereal. P3-10

Prctica 3: Uso de herramientas y anlisis de paquetes El funcionamiento es muy similar, por lo que esto no supone ningn problema.

El interfaz de usuario es bastante simple e intuitivo. Para capturar trafico de red, basta con pulsar Capture y seleccionar Capture options. Se abre una nueva ventana en la que debemos indicar que deseamos capturar por la interfaz eth0 y de momento desmarcar la casilla de Capture packets in promiscuous mode, pulsando a continuacin Start.

Aparecern unos contadores, y se comenzar a capturar todo el trfico que llegue a nuestro ordenador4. Cuando se tengan capturadas algunas tramas, detener el proceso de captura pulsando Detener.

La mayora del trfico capturado corresponde a trfico broadcast, por lo que en ciertos momentos el nmero de paquetes capturado puede ser elevado.

P3-11

Redes

La ventana se divide ahora en tres zonas. En la superior se muestra la lista de tramas/paquetes capturados, a razn de una lnea por paquete. En la intermedia se muestra en detalle la estructura del paquete seleccionado en la primera, y en la inferior se muestra el contenido del paquete en hexadecimal. Para analizar un paquete basta con pincharlo en la zona superior; entonces se puede seleccionar alguno de los campos que aparecen en la zona intermedia y desglosarlo en sus partes si las tiene (por ejemplo ver en detalle los campos de la cabecera IP). Al seleccionar algn campo de la zona intermedia automticamente queda seleccionado en la inferior el contenido en hexadecimal correspondiente, con lo que es posible analizar el contenido con todo detalle. En el ejemplo que aparece a continuacin se ha seleccionado en la zona superior la trama nmero 4; en la zona intermedia se ha seleccionado el campo Ethertype de la cabecera Ethernet y como puede verse en la zona inferior han quedado seleccionados automticamente los bytes 13 y 14 de la trama, que en este caso tienen el valor hexadecimal 0800, que es el Ehertype que corresponde al protocolo IP.

El analizador interpreta los protocolos desde el nivel de enlace al nivel de P3-12

Prctica 3: Uso de herramientas y anlisis de paquetes aplicacin. La lista de protocolos que abarca para cada uno de los niveles es muy completa. Comprueba ahora los contenidos de la cabecera de la trama Ethernet, son los que se han visto en teora?. Pasa ahora a analizar la cabecera del protocolo IP. Hay 20 bytes a analizar. Comprueba todos los campos y explica que significa cada uno. Como la captura suele recoger una gran cantidad de paquetes, el analizador posee la opcin de poder crear filtros5 que capturen tan solo los paquetes que cumplan unas determinadas condiciones. Los filtros se crean dentro de la ventana Capture options escribiendo el filtro deseado dentro de la opcin Capture filter. A partir de este momento, vamos a eliminar el trfico broadcast que llega a nuestro ordenador mediante el filtro:
not ether host FF:FF:FF:FF:FF:FF

que elimina en la captura todo el trfico broadcast existente en la red. Pon en marcha de nuevo la captura de paquetes y ejecuta el comando traceroute t 16 glup.uv.es, explicando la respuesta obtenida. Pon en marcha el modo captura y utiliza ahora el comando ping para forzar el envo de mensajes ICMP. Intenta que los paquetes no lleguen a su destino poniendo un TTL bajo (opcin t del comando ping). Analiza los resultados obtenidos.

Respuesta:

Vamos a usar ahora el comando ping con paquetes IP que se hayan de fragmentar (opcin s) e intenta predecir cuantos fragmentos se producirn y de que tamao. Probar exactamente el comando ping c 1 s 4000 glup.uv.es. Ahora con el analizador observa las tramas Ethernet y comprueba si fue correcta la prediccin. Observa las cabeceras y analiza si la informacin que contienen los campos de fragmentacin coincide con la que era de esperar.

Respuesta:

En el apndice B se encuentra una explicacin de los filtros y su sintaxis.

P3-13

Redes Realiza ahora una conexin FTP a glup.uv.es. Cierra dicha conexin y analiza algunas de las tramas recibidas.

Respuesta:

Vamos a proceder ahora a trabajar en modo promiscuo. Para ello, marcaremos la casilla de Capture packets in promiscuous mode. Empezamos la captura y la detendremos cuando se hayan capturado algunos paquetes para analizar. Comprobaremos que ahora los paquetes tienen direcciones de origen y destino distintas a las de nuestro ordenador6. Si deseamos seleccionar tan solo los paquetes que tengan un determinado origen, destino, opcin IP, etc., podemos crear nuestros propios filtros. Qu filtro permitira capturar tan solo los paquetes cuyo origen o destino es lab3inf14.uv.es.?

Respuesta:

Usando ese filtro, el profesor har un conjunto de cosas en su ordenador (lab3inf14) y el alumno deber capturarlas todas e interpretar lo que ha hecho el profesor.

Respuesta:

Dentro de la pestaa Analyze existe la opcin Follow TCP Stream. Dicha opcin permite realizar el anlisis de una conexin TCP particular. Para utilizarlo pincha sobre una de los paquetes TCP que hayas capturado y comprueba lo que optienes.

Esto se debe a que los ordenadores de prcticas estn conectados a un hub. En caso de que un ordenador este conectado a un switch, y dado que el switch solo enva por el puerto al que corresponde la direccin MAC, normalmente no recibiramos paquetes dirigidos a otros ordenadores.

P3-14

Prctica 3: Uso de herramientas y anlisis de paquetes Crea ahora un filtro que capture tan solo los paquetes cuyo destino sea glup.uv.es y el protocolo sea TCP.

Respuesta:

Crea un filtro que capture las consultas realizadas a los DNS (paquetes con origen o destino el puerto 53 UDP).

Respuesta:

Crea un filtro que capture los paquetes IP de longitud menor de 200 bytes.

Respuesta:

Crea un filtro que capture los paquetes que tengan un valor del campo TTL menor que 16.

Respuesta:

Por ltimo, crea un filtro que capture todos los paquete cuyo campo DF est a 1.

Respuesta:

P3-15

Redes

Apndice A: El comando man de Linux.


Linux, al igual que UNIX, incluye un manual sobre los comandos, lo cual posibilita consultar la sintaxis, opciones, etc., de cualquier comando. El comando que permite consultar el manual es man, cuya sintaxis es:
man [-k] [seccin] <comando>

Donde -k y seccin son optativas y comando es el comando del cual se desea consultar la pgina de manual. Por ejemplo, para consultar como funcionan las pginas de manual se ejecuta:
man man

En algunos casos, existe ms de una pgina referida a un comando, por ejemplo, printf posee dos entradas en las pginas del manual de comandos, una referida al comando printf que permite dar formato a la salida de datos de un intrprete y otra referida a la funcin printf del lenguaje de programacin C. En tal caso el comando man muestra la primera pgina que encuentra comenzando a leer en la seccin 1 del manual. Si deseamos otra pgina del manual, debemos indicar la seccin del manual en la que debe mirar. Por lo tanto:
man printf man 3 printf

Devuelve informacin sobre el comando printf (seccin 1). Devuelve informacin sobre la funcin printf de C (seccin 3).

La opcin -k indica a man que deseamos que busque en todas las pginas del manual y nos devuelva las secciones y pginas donde aparezca la palabra introducida. Por ejemplo:
man -k chown

Nos devuelve como respuesta:


chown (1) chown, fchown, lchown (2) - Change file owner and group - Change ownership of a file

Donde (x) indica la seccin del manual donde encontr la palabra. La consulta de una pgina del manual finaliza pulsando la tecla q, pudiendo usarse las teclas direccionales para avanzar o retroceder por la pgina del manual que se esta consultando.

P3-16

Prctica 3: Uso de herramientas y anlisis de paquetes

Apndice B: Filtros en ethereal.


En ethereal es posible construir filtros que determinen si un determinado paquetes van a ser o no capturado. En caso de que no se utilice ningn filtro, todos los paquetes son capturados. Los filtros se construyen mediante expresiones que consisten en una o ms primitivas. Las primitivas, usualmente, consisten en un identificador (nombre o nmero), precedidas por uno o ms calificadores. Existen tres tipos diferentes de calificadores: De tipo: Identifican un nombre o direccin, sus posibles valores son host, net y port. Algunos ejemplos son: Filtro
host glup.uv.es net 147.156.0.0/16 port 20

Explicacin Paquetes cuyo origen o destino es el ordenador glup.uv.es. Paquetes cuyo origen o destino es la red 147.156.0.0/16 Paquetes cuyo origen o destino es el puerto 20.

Si no existe ningn calificador de tipo, se asume que el tipo es host. De direccin: Identifican una direccin particular de transferencia, esto es, un origen o destino. Sus valores posibles son src, dst, src or dst y src and dst. Por ejemplo: Filtro Explicacin

src glup.uv.es Paquetes cuyo origen es el ordenador glup.uv.es. dst net 147.156.0.0/16 Paquetes destino es la red 147.156.0.0/16 src or dst port ftp-data Paquetes cuyo origen o destino es el puerto 20 (ftp-data).

Si no se indica ningn calificador de direccin, se toma el calificador de direccin por defecto (src or dst). De protocolo: Identifican un protocolo particular. Sus valores posibles son ether, fddi, tr, ip, ip6, arp, rarp, decnet, tcp y udp. Por ejemplo7: Filtro
ether src glup.uv.es arp net 147.156 tcp port 21

Explicacin Paquetes ethernet cuyo origen es el ordenador glup.uv.es. Paquetes de protocolo ARP con origen o destino en la red 147.156. Paquetes cuyo protocolo es TCP y origen o destino en el puerto 21.

Si no se especifica ningn protocolo, todos los protocolos que sean consistentes con la identificacin de tipo son capturados.
7

Si en algn momento se desea especificar una direccin ethernet en el filtro, est debe especificarse como XX:XX:XX:XX:XX:XX

P3-17

Redes Como puede verse por la explicacin de los diferentes tipos de calificadores, siempre estn presentes, aunque sea por defecto, los tres tipos de calificadores. As, la expresin:
ip 147.156.222.65

Es equivalente a:
ip src or dst host 147.156.222.65

Pueden construirse filtros ms complejos mediante la combinacin de primitivas mediante la utilizacin de parntesis y/o las palabras and, or y not, siendo la prioridad de not mayor que la de and y or, cuya prioridad entre si es igual. As, por ejemplo:
host glup.uv.es and not port ftp

Indica que se capturen todos los paquetes cuyo origen o destino es glup.uv.es excepto aquellos cuyo puerto de origen o destino es el de ftp (puerto 21). Un listado de las primitivas ms utilizadas se encuentra en la siguiente tabla: Descripcin Verdad si el campo destino del paquete es el <ordenador>. src host <ordenador> Verdad si el campo origen del paquete es el <ordenador>. host <ordenador> Verdad si el campo origen o destino del paquete es el <ordenador>. Ether dst <ordenador> Verdad si la direccin ethernet de destino es el <ordenador>. Ether src <ordenador> Verdad si la direccin ethernet de origen es el <ordenador>. Ether host <ordenador> Verdad si la direccin ethernet de origen o destino es el <ordenador>. dst net <red> Verdad si la direccin de destino del paquete corresponde a una direccin de la <red>. src net <red> Verdad si la direccin de origen del paquete corresponde a una direccin de la <red>. net <red> Verdad si la direccin de origen o destino del paquete corresponde a una direccin de la <red>. dst net <red> mask <mascara> Verdad si la direccin de destino del paquete corresponde a una direccin de la <red> de mscara <mascara>. src net <red> mask <mascara> Verdad si la direccin de origen del paquete corresponde a una direccin de la <red> de mscara <mascara>.
dst host <ordenador>

Primitiva

P3-18

Prctica 3: Uso de herramientas y anlisis de paquetes Primitiva


net <red> mask <mascara>

dst net <red>/<longitud>

src net <red>/<longitud>

net <red>/<longitud>

dst port <puerto> src port <puerto> port <puerto> less <longitud> greater <longitud>

Descripcin Verdad si las direccin de origen o destino del paquete corresponde a una direccin de la <red> de mscara <mascara>. Verdad si la direccin de destino del paquete corresponde a una direccin de la <red> cuya mscara se indica por <longitud>. Verdad si la direccin de origen del paquete corresponde a una direccin de la <red> cuya mscara se indica por <longitud>. Verdad si las direccin de origen o destino del paquete corresponde a una direccin de la <red> cuya mscara se indica por <longitud>. Verdad si el paquete tiene como destino el puerto dado por <puerto>8. Verdad si el paquete tiene como origen el puerto dado por <puerto>. Verdad si el paquete tiene como origen o destino el puerto dado por <puerto>. Verdad si el paquete tiene una longitud menor o igual que <longitud>. Verdad si el paquete tiene una longitud mayor o igual que <longitud>.

Adems de las expresiones anteriores, existen expresiones del tipo:


<expresin 1> <operador> <expresin 2>

Donde <operador> es uno de los operadores de comparacin <, >, <=, >=, = y != (menor, mayor, menor o igual, mayor o igual, igual y distinto). Por su parte, <expresin 1> y <expresin 2> son expresiones aritmticas compuestas por constantes enteras expresadas con la sintaxis de C/C++ y los operadores +, -, *, /, & y | (suma, resta, producto, divisin, and lgico y or lgico). Adems, existe una expresin especial que permite acceder a unos datos concretos del paquete. Esta expresin que permite el acceso a los datos de un paquete tiene la sintaxis:
protocolo [ desplazamiento : tamao]

Donde protocolo es uno de los protocolos validos (ether, fddi, tr, ip, arp, rarp, tcp, udp, icmp o ip6), desplazamiento es el desplazamiento, en bytes, desde el comienzo de los datos del protocolo especificado (el primer byte es el byte cero), y tamao son los bytes a analizar, tomando por defecto el valor de 1 byte si no se especifica ningn valor. Por ejemplo:
ip[0 : 1] & 0x0F != 5
8

Esta expresin y las dos siguientes pueden ir precedidas de tcp udp, para indicar que solo se desea el puerto correspondiente al protocolo TCP UDP respectivamente.

P3-19

Redes Indica todos los paquetes que contienen opciones IP (campo longitud de la cabecera con valor distinto de 5). Esta expresin tambin puede escribirse como:
ip[0] & 0x0F != 5

Teniendo en cuenta que si no se especifica el tamao se toma por defecto 1. Por otra parte, el siguiente ejemplo:
ip[6 : 2] & 0x1FFF == 0

Indica solo datagramas no fragmentados o el primer fragmento de los datagramas fragmentados (campo desplazamiento del fragmento igual a cero).

P3-20

You might also like