IP-Socket nutzen
-
wie kann ich ein IP socket unter windows xp/2k nutzen. UDP/TCP geht nich muss schon IP sein.

-
IP = ICMP ???
-
das einzige, was mit dazu einfällt, sind raw sockets, die du
mittels SOCK_RAW erzeugen kannst. allerdings bist du damit auf
ICMP beschränkt. liegt zwar im selben layer wie IP, is aber eben
ICMP.
-
Ah ich hab die Lösung auf www.c-workers.ch gefunden :D. Man muss nich umbedingt ICMP nehmen man kann auch IP header basteln
-
Wonko schrieb:
das einzige, was mit dazu einfällt, sind raw sockets, die du
mittels SOCK_RAW erzeugen kannst. allerdings bist du damit auf
ICMP beschränkt. liegt zwar im selben layer wie IP, is aber eben
ICMP.So ein Quatsch!
MitWSASocket(PF_INET, SOCK_RAW, IPPROTO_RAW, NULL, 0, 0);Bekommst du einen socket, der auf dem Network Layer aufsetzt. Nicht mehr und nicht weniger.
Verwendest du dazu noch folgendes,int one = 1; setsockopt(sd, IPPROTO_IP, IP_HDRINCL, (const char *) &one, sizeof(one))wird dir vom Stack auch das Handling für IP überlassen, du setzt "quasi" auf den Data Link Layer auf. (Zumindest bis auf wenige Kleinigkeiten die du dir trotzdem abnehmen lassen kannst, wie z.B. CRC-Berechnung)
Gruss
Michael