La capa Internet básicamente se encarga del encaminamiento de os datos (direccionamiento) en base a direcciones lógicas formadas por 4 bytes y se denominan direcciones IP, se identifican el nodo de una red de forma exclusiva en el tipo de red al que pertenece máscara de red.
También se encarga de fragmentar paquetes, seleccionar la mejor ruta para la entrega de la información en el encaminamiento, precedencia, coste, …

Aquí un dibujo de la trama:

Para que la capa 3 haga el encaminamiento necesita traducir direcciones lógicas IP por direcciones físicas MAC, de esto se encarga el protocolo de capa 3 llamado ARP (Address Resolution Protocol).

Funcionamiento de ARP:

Tengamos en cuenta el siguiente dibujo que he compuesto para siguientes post, ya que ahora solo utilizaremos una de las intranets, pero posteriormente se repetirá con más de una.

ARP-REQUEST

Cuando el nodo emisor quiere mandar datos al nodo receptor a través de la capa 2 tiene que conocer su MAC, para ello la capa 3 lanza lo que se llama una petición ARP “¿Quién tiene MAC asociada a IP receptor?” mediante broadcast (inundación). El equipo interesado le responde mediante una contestación ARP-REPLY donde incluye su MAC el equipo receptor.
La petición ARP-REQUEST es un paquete de capa 3 con una cabecera especial:

Como veis la MAC por broadcasting se envía como FF:FF:FF:FF:FF:FF y el router o hub la va pasando hasta que alguien se de por aludido y conteste.

ARP-REPLY

La respuesta ARP-REPLY es un paquete de capa 3 que lanza el receptor con cabecera:

Como podéis observar, la MAC se cambia por la del receptor, entonces así conocemos cual sería su MAC.

Entre redes:

Como el emisor no puede acceder por bradcasting al receptor, tiene que preguntar a través del router (imaginamos la MAC del router) sino tendría que hacer una ARP-REQUEST para conocer la MAC preguntando a la IP del router.

Funcionamiento ARP en un Nodo:

El emisor en capa 3 necesita mandar datos a IP-RECEPTOR:

La caché ARP es una tabla del Kernel del Sistema Operativo de cualquier Nodo de red donde se muestran:

IPnodo ——————- MACascociada

Se va refrescando cada 10 minutos (se borra y se vuelve a crear). Como se queda en RAM se borra cuando se apaga el ordenador.

Dos formas de crear entradas en la caché ARP:

  • Dinámica: Mediante ARP-REQUEST (forma normal).
  • Estática: Añadida por el root de forma permanente con el comando:
    arp -s IP-RECEPTOR MAC-RECEPTOR

Para ver la caché arp de un equipo:

arp -v (Te pone encabezados).
arp -a (Modo abreviado BSD).

albertjh@portatil:~$ arp -v
Dirección     TipoHW  DirecciónHW         Indic Máscara         Interfaz
.             ether   00:xx:F7:xx:58:xx   C                     wlan0
Entradas: 1    Ignoradas: 0    Encontradas: 1↵

Para conocer una determinada entrada en la caché:

arp -a IP-EMISOR

Para borrar una entrada de la caché:

arp -d IP-EMISOR

Dentro de la caché ARP, se encuentran unos flags como arriba veis llamado Indic, estos significan los siguiente:

C –> Completa
<incomplete> –> Incompleta
M –> Está añadida manualmente
P –> Puede ser publicada por otros ordenadores

Si veis una M sospechar :vaya: !!

Como último párrafo, quería comentar que hay prácticas llamadas ARP Spoofing, también conocido como ARP Poisoning o ARP Poison Routing, es una técnica usada para infiltrarse en una red Ethernet conmutada (basada en switch y no en hubs), que puede permitir al atacante husmear paquetes de datos en la LAN (red de área local), modificar el tráfico, o incluso detener el tráfico (conocido como DoS: Denegación de Servicio).

El principio del ARP Spoofing es enviar mensajes ARP falsos (falsificados, o spoofed) a la Ethernet. Normalmente la finalidad es asociar la dirección MAC del atacante con la dirección IP de otro nodo (el nodo atacado), como por ejemplo la puerta de enlace predeterminada (gateway). Cualquier tráfico dirigido a la dirección IP de ese nodo, será erróneamente enviado al atacante, en lugar de a su destino real. El atacante, puede entonces elegir, entre reenviar el tráfico a la puerta de enlace predeterminada real (ataque pasivo o escucha), o modificar los datos antes de reenviarlos (ataque activo). El atacante puede incluso lanzar un ataque de tipo DoS (Denegación de Servicio) contra una víctima, asociando una dirección MAC inexistente con la dirección IP de la puerta de enlace predeterminada de la víctima.

EL ataque de ARP Spoofing puede ser ejecutado desde una máquina controlada (el atacante ha conseguido previamente hacerse con el control de la misma: intrusión), un Jack Box, o bien la máquina del atacante está conectada directamente a la LAN Ethernet.

Con lo que os he enseñado tan solo haría falta introducir “como sea” una dirección MAC en la caché, ya bien siendo por un script, un demonio, o lo que se os ocurra, para hacer intercambio de su MAC por tu MAC así consigues hacerte pasar por el ordenador objetivo y esnifar el tráfico deseado, engañando al router.

Un bueno programa para hacer esto sería wireshark, os pego una captura de pantalla de cómo hace un broadcasting mi router, y otra de como capturo un paquete y veo la contraseña de una página de Internet:

Espero que no os haya aburrido mucho, sé que a más de uno/a le va a gustar esto ::-P:


Links de vídeos interesantes:

http://www.youtube.com/watch?v=q0nBMnr3dVo
http://www.youtube.com/watch?v=SYa9ZVzmBbI
http://www.youtube.com/watch?v=g8CUhFaTBhM (1/4)
http://www.youtube.com/watch?v=CCF5wfAc0rQ (2/4)
http://www.youtube.com/watch?v=W9UvmiGWMxg (3/4)
http://www.youtube.com/watch?v=DfXQ7b0YRUE (4/4)
http://www.youtube.com/watch?v=9z8i9SQr_s8
http://www.youtube.com/watch?v=zG-_Y17lKpg

On this day…

  • 2007: Contacto — En esta página puedes contactar conmigo, enviarme noticias, fallos, piropos, etc, en fin, acepto todo lo que me escribáis, [...]
6 Respuestas a “Capa Internet y ARP”
Trackbacks
  1.  
Comments
  1. morunix dice:

    Interesante articulo. Yo también aporto mi granito de arena:

    En la parte de ARP-Request dices que se envía a la MAC de broadcast (FF:FF:FF:FF:FF:FF, se te olvida un byte!!), que si es correcto, pero luego dices que el router o el hub lo pasan hasta que llegue a su destino o se le acabe el tiempo de vida (TTL), que es incorrecto.

    El protocolo ARP funciona sobre la capa de enlace (ethernet) y colabora con la capa de red (protocolo IP), pero no es un protocolo de capa de red, por lo tanto es incapaz de saltar a través de los routers. El protocolo ARP no tiene ningún campo TTL (ni lo necesita) porque solo llega a los equipos que estén conectados directamente (mediante un hub/switch por ejemplo) al emisor de la petición ARP y los receptores pueden responder (ARP-Reply) pero no replican el mensaje.

    Hay excepciones como los bridge, pero en cualquier caso ARP no tiene TTL (a diferencia de IP que sí lo tiene).

  2. albertjh dice:

    Corregido todo, muchas gracias! en lo del TTL me debí colar, lo estaba poniendo de memoria y me hice un lío…

    Saludos!

  3. albertjh dice:

    Por cierto, veo que dominas esto, y como no se conoce gente así todos los días, te propongo para ser uno de los administradores del wiki, ¿te interesa? pronto lo daré como abierto, y espero tener mucha gente…

  4. morunix dice:

    Otra cosa!! ARP desaparece en IPv6, porque es sustituido por ICMPv6. Aunque no se cuando empezaremos a usar IPv6, porque llevan años diciendo que lo van a implantar en Internet y todavía seguimos con IPv4.

  5. morunix dice:

    :) Lo del wiki te diría que si, pero no te puedo asegurar mi disponibilidad. Lo mismo unos días le hago mucho caso y después no lo puedo tocar en algunas semanas. No quiero comprometerme sin saber si luego voy a poder cumplir.

  6.  
Deja una Respuesta

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


Add to Technorati Favorites Creative Commons License website stats Powered by  MyPagerank.Net Geo Visitors Map