Je réalise un projet dans lequel je dois créer des paquets personnalisés. Autrement dit, je dois avoir le contrôle de chaque en-tête de paquet. J'essaye de faire ceci en utilisant des douilles. Au fond, ce que je dois faire est la suivante:Implémenter Raw Ethernet dans Winsock
SOCKET s = socket(PF_UNSPEC, SOCK_RAW, ethernet_type);
Le ethernet_type est quelque chose qui est adapté, non standard, comme 0xAAAAA. J'utilise htons(). En outre, il est très préférable que je n'utilise pas winPcap.
À l'heure actuelle, j'obtiens l'erreur 10043, protocole non pris en charge. Le message d'erreur semble suggérer que je peux configurer le protocole dans mon système, mais je n'ai aucune idée de comment faire cela.
Il est dit:
Protocole non pris en charge. Le protocole demandé n'a pas été configuré dans le système ou aucune implémentation n'existe pour ce dernier. Par exemple, un appel de socket demande un socket SOCK_DGRAM, mais spécifie un protocole de flux.
Il y a quelques problèmes différents ici, donc si quelqu'un a des commentaires, je l'apprécierais vraiment.
Je peux cependant ouvrir le socket brut en utilisant d'autres options. En outre, l'erreur concerne le type de protocole (la dernière option, je l'ai appelée ethernet_type). – devin