Bonjours,
J'ai lu le cours de Melem sur les raw sockets. Malheuresement je n'arrive pas a créer de sockets de type SOCKET_RAW:
Lorsque j'exécute le programme on peut apercevoir sur le flot std :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 int main() { /* variables */ SOCKET socket_id; DWORD sockopt = TRUE; system("title Envoi d'un flux avec une raw socket en TCP"); WSADATA wsadata; if(WSAStartup(MAKEWORD(2,0), &wsadata) != 0) { printf("/!\\ La fonction WSAStartup a échoue.\n"); } if (setsockopt(socket_id, IPPROTO_IP, IP_HDRINCL, (char *)&sockopt, sizeof(sockopt)) == SOCKET_ERROR) { printf("/!\\ La fonction setsockopt a echoue\n"); } socket_id = socket(PF_INET, SOCK_RAW, IPPROTO_IP); if(socket_id == INVALID_SOCKET) { printf("/!\\ Impossible de creer une socket valide : %i\n", socket_id); } return 0; }
/!\ La fonction setsockopt a echoue
/!\ Impossible de creer une socket valide : -1
Merci de votre aide
Cordialement Zestyr
Partager