Con Scapy puede capturar y generar tráfico de red. En algunos casos es necesario generar un flujo de tráfico en particular y luego ver lo que viene detrás. Con Scapy puede construir ese tipo de herramienta con sólo unas pocas líneas de código. Será útil definir algunos términos antes de llegar demasiado lejos con el fin de comprender mejor lo que está haciendo Scapy. El modelo del protocolo OSI de siete capas es utilizado por Scapy en la determinación de cómo construir e interpretar los bits que fluyen a través del cable.
La capa física, también conocida como capa 1, es por donde van las cosas como medios de comunicación, ya sean por cable o inalámbrica, conectores y niveles de las señales. La capa dos, denominada capa de enlace de datos, es donde los datos que circulan especifican una única dirección física o MAC para identificar a cada nodo. La siguiente capa es la capa tres y se conoce como la capa de red. Este es el nivel donde se hay direccionamiento lógico, conocido comúnmente como una dirección IP.
El comando ping de Linux realmente utiliza la solicitud de eco de "Internet Control Message Protocol (ICMP)" para consultar una dirección IP específica. Los mensajes ICMP van en la capa de red o capa 3. Otra forma de realizar la misma tarea es utilizar el "Protocolo de resolución de direcciones" (ARP) para determinar la dirección de hardware de una dirección IP específica. ARP funciona en la capa 2, es un paso más cerca el transporte físico y a menudo devolverá información más rápida que un comando de capa 3. El siguiente fragmento de código logrará un ping de ARP, mostrando tanto la MAC como la dirección IP de cada nodo descubierta:
>>> arping ("192.168.1.0/24", timeout = 2)
Nosotros podemos paquete ese comando de línea en un programa de Python en ejecución que aceptará una dirección IP de destino como un parámetro como sigue:
No hay comentarios:
Publicar un comentario