Bonjour,

je me permets de venir poster une demande d'information car je bloque un peu. Depuis quelques jours je cherche sur internet comment créer un socket pour forger des paquets Ethernet. Le programme que je veux faire, je veux le rendre compatible sous Windows et GNU/Linux. Mais voilà je rencontre un problème au niveau de la création du socket.

J'ai vu beaucoup de personnes demandé de l'aide pour pouvoir créer un paquet ARP et l'envoyer, à partir de Windows, et souvent la réponse donné est : pas possible, regarde du côté de WinpCap. Mais j'ai aussi vue quelques fois une réponse qui disait : Sous Windows on ne peut pas, de base, avec les sockets, créer un paquet Ethernet, mais si tu construits ton en-tête Ethernet, et avec les "raw socket" tu pourra.

Donc j'ai créé mes structures représentants mes en-têtes, et quand je veux créer un socket je ne vois pas comment le configurer.

int socket(int domain, int type, int protocol);

Pour le type, j'ai compris que je devais faire un : SOCK_RAW

Pour le domain .. Je ne vois pasce que je dois spécifier... Sous GNU/Linux j'ai vu qu'on pouvait mettre : PF_PACKET pour créer des paquets bas-niveau. Mais sous Windows je n'ai pas trouvé d'équivalent.

Pour le protocol, pareil, je ne vois pas le quel spécifier, car dans la doc je ne vois que protocol lié à IP.

Donc je ne vois pas trop comment créer mon socket.

Si quelqu'un à des indices à me donner, une direction à prendre, je suis preneur.

Merci,
Cordialement,
Reverse_