LinuxParty
 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:
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.

- 
			Seguridad- Cortafuegos simple, ipchains
- Un sitio potencialmente peligroso. ¡Aviso!
- Diario de un exploit contra Joomla/Mambo
- Experimentación con ssh+ppp VPNs en linux
- Skype para Linux lee el archivo /etc/passwd
- Solaris, Seguridad por Defecto.
- Eliminando errores de comunicaciones SSL.
- Chrooted SSH/SFTP Tutorial, ''Enjaular conexiones SSH/sFTP'' - Tutorial.
- Reajustar los permisos de RPMs instalados
- Asegurar SSH usando Denyhosts
- Las Esperas y SSH.
- Llevar tu Cortafuegos portatil, Seguridad para viajeros.
 



