Hola crear un programa que me permita enviar paquetes con un protocolo cualquiera. Me refiero a poder crear paquetes en modo hexadecimal para poder enviar un paquete por ejemplo para arp-spoofing o paquetes con la ip diferente a la mía.
Como lo hacen programas como colasoft packet builder o CommonView.
Al principio pensé por RAW Sockets pero leí en la pagina de microsoft ya que estoy usando windows:
UDP datagrams with an invalid source address cannot be sent over raw sockets. The IP source address for any outgoing UDP datagram must exist on a network interface or the datagram is dropped. This change was made to limit the ability of malicious code to create distributed denial-of-service attacks and limits the ability to send spoofed packets (TCP/IP packets with a forged source IP address).
Yo quiero control total sobre los paquetes. Que tengo que usar o si existe alguna librería libre?
Un saludo
Si quieres un control total, con todas las consecuencias, la mejor opción es pasarse a linux
De entre los primeros resultados que sacude Google esta este:
http://www.codeproject.com/Articles/31992/RawUDP-A-Class-to-Craft-Custom-UDP-Packets
Y otro de codeproject:
http://www.codeproject.com/Articles/31920/How-to-craft-UDP-packets-and-send-them-with-WinPCa
Es cierto que los sockets RAW estan marcados como decrepitos, y que su funcionalidad ha sido reducida..
Una opcion es poner un driver, la otra es forzar mediante algun framework como PCap la funcionalidad restringida/que le queda..
Espero que te ayuden..
Creo que WinPcaP me serviria ahora solo hace falta leer ;D
http://www.winpcap.org/docs/docs_412/html/main.html
Gracias