Qualche mio consiglio, se può essere utile:
* Un'alternativa alla raw socket API può essere libcap ma non avendola mai vista neanche in fotografia non so se ti migliora o incasina di più la vita. A quanto dice una persona (che tra l'altro bazzica anche su questo forum) con un'interfaccia ad alto livello a libcap vai liscio solo che tale persona mi pare programmi in delphi e non in C, per il quale non so se esista qualcosa di analogo.
* Su bfi (http://bfi.s0ftpj.org/) trovi una quintalata di codici di esempio in cui si utilizza raw socket per manipolare i pacchetti nei modi più disparati (nello specifico cerca gli articoli scritti da fusys). La pecca è che tali articoli sono tutti precedenti all'introduzione di sp2.
* Aggirare le limitazioni di sp2 è cmq possibile dato che nel porting di nmap lo hanno fatto. Ecco cosa l'autore dice a proposito:
http://seclists.org/lists/nmap-hacke...-Sep/0003.html
...di cui cito:
...e ancoraWith SP2, Microsoft has crippled Windows in the following ways that
affect Nmap:
1. TCP packets may no longer be sent through the raw sockets API
2. IP spoofed UDP packets may no longer be sent through raw sockets
(affects decoy and spoofed scanning).
3. Outbound TCP connection attempts are throttled to a slow rate.
Cosa questa frase voglia dire non l'ho ben capito. L'argomento interessa molto anche me. I sorgenti di nmap win sono cmq disponibili. Puoi sempre darci un'occhiata."Instead of sending raw IP packets, we move one layer down and send our
raw IP packets in raw ethernet frames."