¿Que es scapy?
Según nuestra vieja
confiable Wikipedia.
Scapy es una herramienta de
manipulación de paquetes de red, desarrollada en Python por Philippe Biondi,
Guillaume Valadon y Pierre Lalet. Scapy puede crear o decodear paquetes,
enviarlos en el cable, capturar paquetes, comparar y responder los paquetes.
También puede realizar tareas
como:
- ·
Escaneo.
- ·
Traceo de ruta.
- ·
Sondeo de puertos.
- ·
Ataques y descubrimiento de red.
Scapy proporciona una interfaz de
Python en libpcap, (WinPCap / Npcap en Windows), de forma similar a la que
Wireshark proporciona una vista y captura de GUI. Puede interactuar con una
serie de otros programas para proporcionar visualización, incluyendo Wireshark
para decodificar paquetes, GnuPlot para proporcionar gráficos, graphviz o
VPython para visualización, etc. La pagina oficial la puedes encontrar
acá
Como muchos ya saben, soy una persona que usa kali xD y no me siento mal por eso, en este caso no era la excepción ya que kali ya lo trae instalado por default, instalar Scapy en distribuciones tipo Debia, pueden ejecutar el comando:
~# apt-get install scapy
bueno pues podemos ver un par de ejemplos.
NOTA: Para poder entender scapy, es necesario tener conocimiento en redes si no mucho, por lo menos lo mas basico, saber que es el modelo de referencia OSI y como funcionan algunos protocolos como por ejemplo:
por mencionar algunos de los protocolos.
para ejecutar scapy, solamente ejecutamos el comando # scapy
al momento de acceder a scapy si queremos listar todos los protocolos soportador por scapy, ejecutamos el comando ls().
si queremos listar el contenido de un protocolo en especifico ejecutamos el comando ls(x), x ( es el protocolo.
¿como podemos construir un paquete para enviar?
bien en la siguiente imagen se muestra como ir construyendo un paquete, en este caso el paquete que estoy construyendo requiere de dos protocolos (IP e ICMP).
explico:
ping es la variable donde se almacenan los valores que se usaran, en este caso src (source) es la dirección IP que voy a usar como el que envía, dst (destino) es la dirección IP o FQDN (Fully Qualify Domain Name) el nombre del dominio en este ejemplo es google.com.
en la segunda linea, ping lista el contenido del valor de la variable.
como enviamos el paquete?
el comando send lo que hace es enviar el paquete que construimos, para validar que el paquete se esta enviando correctamente podemos usar una herramienta llamada hexdump, les suena ? bien veamos como se hace.
por ultimo, estaba desarrollando un pequeño escript el cual suplanta la dirección IP que quieres, y envía un mensaje a través de ICMP, la cual esta escrita en python y se llama p4ynet.py
xD
si gustan probar el github se encuentra acá
p4ynet
Aun no soy un experto manejando scapy, pero espero que les agrade el post y si gustan editar el script para que haga mas cosas, no tengo problema o en todo caso que quieran apoyar a que la misma herramienta cresca para hacer mas cosas no tengo problemas con contribuir xD.
les dejo mi Twitter por si alguien le interesa @p4y104d
para encontrar mas información sobre el uso de Scpay favor de revisar este
link
Favor de compartir gracias.
Gracias por la información.
ResponderBorrar