LinuxParty

NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.
Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
 
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:


#!/usr/bin/python
from scapy.all import *

def usage():
  print "Usage: arp-ping.py 192.168.1.0/24"
  sys.exit(1)

if len(sys.argv) != 2:
  usage()

range = sys.argv[1]
arping(range, timeout=2)


Nosotros podríamos ajustar una GUI usando Tk con la misma funcionalidad con un poco más de código como este:

from Tkinter import *
from scapy.all import conf,arping
conf.verb=0

def PingARP():
    global myping
    print str(dst.get())
    ans,unans=arping(str(dst.get()))
    for snd,rcv in ans:
        textbox.insert(END, rcv.sprintf("%Ether.src%  %ARP.psrc%
"))
        print rcv.sprintf("%Ether.src% i %ARP.psrc%
")
    root.update()

root = Tk()
root.wm_resizable(0, 0)
frame = frame = Frame(root)
label = Label(frame, text="IP address").pack(side=LEFT)
dst = Entry(frame)
dst.pack(side=LEFT, fill=X, expand=True)
frame.pack(fill=X, expand=True)

frame = frame = Frame(root)
button = Button(frame, text="ARP Ping", command=PingARP)

frame.pack(fill=X)

frame2 = frame2 = Frame(root)
scrollbar = Scrollbar(frame2)
scrollbar.pack(side=RIGHT, fill=Y)

textbox = Text(frame2)
textbox.pack(side=RIGHT, fill=BOTH, expand=True)
textbox.config(yscrollcommand=scrollbar.set)
scrollbar.config(command=textbox.yview)
frame2.pack(fill=BOTH, expand=True)

button.pack()
frame.pack()
root.mainloop()


Una última modificación de este código cambia "el ping por defecto" para usar otra característica de Scapy que busca cualquier nodo con su respectivo adaptador en modo promiscuo. Esto sería una señal de posibles amenazas en su red de que se está ejecutando una herramienta como Wireshark. Para ello le añadimos el módulo promiscping a nuestra línea de importación y cambia una línea en la rutina PingARP de la siguiente manera:

ans,unans=promiscping(str(dst.get()))

Ahora contamos con una útil herramienta de análisis forense con una cantidad relativamente pequeña de la programación. Podrá ahora mismo utilizarla en el marco básico envuelto acerca de cualquiera de los comandos Scapy para construir sus propias herramientas.

Escriba en la entrada: 192.168.1.0/24 (Si es ese su tipo de red)

El programa debe ser ejecutado como root, en Linux.

Si lo quieres hacer funcionar en Windows o Mac (que no lo hemos probado) tendrás
tal vez que compilarlo... Mírate este enlace: How to Compile Tcl/Tk

El resultado [("{'es similar'}")] a tener nmap y hacer:

nmap -T4 -F 192.168.1.0/24

Pero bueno, si alguien quiere desarrollarse alguna aplicación, nosotros sólo allanamos el camino.

Pin It

Escribir un comentario


Código de seguridad
Refescar



Redes:



 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías