Ciao. Premesso che non è una buona partenza l'idea di voler fare un attacco DDos. Ecco alcuni programmini che ho scritto con i raw socket e che magari possono tornarti utili.

Sniffer: http://www.ptrace.net/content/sources/sniffer.c

e Injector: http://www.ptrace.net/content/sources/injector.c

Per quanto riguarda la scelta tra libnet/libpcap e raw socket. Va precisata una cosa; non vero che con libpcap puoi fare cose che con i raw socket non puoi fare. Semplicemente per il fatto che libpcap è una libreria di programmazione che utilizza i raw socket. D'altronde i raw socket sono il "punto d'accesso" più vicino alla scheda di rete che il kernel mette a disposizione.

In ogni caso, se libnet/libpcap sono state sviluppate un motivo (e anche più di uno) c'è. L'implementazione dei raw socket tra i vari sistemi non è standard e pertanto un programma che va in Linux non andrà in Windows. Usando libpcap e il porting per windows WinPcap, potrai scrivere un programma che non sia più legato ad una particolare implementazione dei raw socket. Inoltre questa potente libreria fornisce una funzionalità molto interessante, la possibilità di filtrare certi pacchetti secondo regole che impostiamo noi.

Per maggiori info ti consiglio una veloce ricerca con google.

gnix