IP Header bei RAW_SOCKETS < XP SP2 manipulierbar?



  • Hallo liebes Board,

    Ich bin gerade dabei einen PING mit RAW_SOCKTES zu implimentiern. Ich höre von verschiednen seiten es gibt keine RAW_SOCKTE Smehr unter Windows XP SP2 und größer. Andere sagen es ist nur nicht mehr der IPHeader manipulierbar und Dritte behapten es gibt ldeiglich einen Schutz der die SourceAdresse des IPHeaders überfrüft. Soo nun meine Frage:

    Sind RAW-Sockets unter Windows Vista/7 noch immer verfügbar wenn ja welche einschränkungen habe ich... bzw was draf ich tun und was nicht.

    Ist z.B. das inizalisieren eines solchen Sockets noch erlaubt:

    socket(AF_INET, SOCK_RAW, IPPROTO_ICMP);
    

    Bin gespannt auf euer antworten 🙂

    MfG NEO_2.0





  • Okay erst mla danke für den Link.

    TCP data cannot be sent over raw sockets.
        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).
        A call to the bind function with a raw socket for the IPPROTO_TCP protocol is not allowed.
    
        Note  The bind function with a raw socket is allowed for other protocols (IPPROTO_IP, IPPROTO_UDP, or IPPROTO_SCTP, for example).
    

    Wenn cih das richtig verstanden habe kann ich keine TCP Verbindungen mehr über RAW_SOCKETS mehr herstellen.

    UDP hat den Schutz das die Source (Absender) IP stimmt.

    Die bind() Funktion ist für TCP unter RAW_SOCKETS auch nicht mehr verfügbar. ICMP, UDP, und co können sie jedoch noch verwenden.

    Über die verwendung von dem IPHeader hab ich nichts geshen scheint aber noch erlaubt zu sein.

    Danke noch mal

    Grüße NEO_2.0


Anmelden zum Antworten