IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Champ TOS IP Header


Sujet :

C++

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 2
    Par défaut Champ TOS IP Header
    Bonjour,

    Pour une certaine application je dois marquer tous les champs TOS de mon IP header à une certaine valeur. Je suis sous Windows 2000 et ajouter la valeur DefaultTOS à Regedit ne fonctionne plus j´ai par ailleurs déjà modifié l´écrasement de cette valeur à zero en ajoutant au registre la clée DisableUserTOSSetting.
    Toutes les connexions sortantes doivent etre marqué, sachant que je n´ai pas trouvé d´autres méthodes je me tourne vers la programmation. J´ai trouvé un début de programme sur ce site qui ferait ce que j´attends.

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    #include <cstdlib>
    #include <iostream>
    #include <winsock2.h>                   // Librairie que l´on se sert avec les 
    #pragma comment(lib, "ws2_32.lib")      //socket ws2_32.lib
    #include <ws2tcpip.h > 
     
    int main(void){
     
    //Création d´un socket 
    WSADATA WSAData;                        // Init var WSAData
    WSAStartup(MAKEWORD(2,0), &WSAData);    // Init de WSAStartup()
     
    SOCKET sock;              //Init VAR du type SOCKET                           
    SOCKADDR_IN sin;          //Info techniques du socket (cf ci dessous)
    sin.sin_addr.s_addr	= inet_addr("192.168.4.33");
    //sin.sin_addr.s_addr = htonl(INADDR_ANY); //Toutes les connections
    sin.sin_family	= AF_INET;                // *famille* du socket, ici internet
    sin.sin_port	= htons(10000);           // Port 10 000  
     
    /* Type du socket: SOCK_STREAM ouvrent une conn directe entre les 2 ordi et 
    pourra ensuite envoyer les paquets que vous désirez, SOCK_DGRAM envoie un paquet
     directement à la destination sans faire d'accept() ou de connect().*/
    sock = socket(AF_INET, SOCK_STREAM,0);
    //sock = socket(AF_INET, SOCK_DGRAM, 0);
    //sock = socket(AF_INET, SOCK_RAW, 0); //Mieux pour faire run un Daemon
    bind(sock, (SOCKADDR *)&sin, sizeof(sin)); //Attache socket (port & ADDR)
     
       int TOS=0x80; 
     
     /*getsockopt(int s, int level, int optname, void *optval, socklen_t *optlen); 
     s:      socket auquel la fonction doit s´appliquer
     level: identifies the layer that is to handle the option
            SOL_SOCKET is for the socket layer, IPPROTO_IP for the IP layer, etc... 
     optname:
     optval: 
     optlen: size of the data structure optval points to 
     */
     
    while(1)
    {
    setsockopt(sock, IPPROTO_IP, IP_TOS, (char *)&TOS, sizeof(TOS));
     
    if (setsockopt(sock, IPPROTO_IP, IP_TOS, (char *)&TOS,
                      sizeof(TOS)) == SOCKET_ERROR)
          printf("\nWarning: Fail to set TOS value: error - %d",
                 WSAGetLastError());
    }           
        system("PAUSE");
        return EXIT_SUCCESS;             	    				
    }
    Est ce que ce programme fonctionnerait pour tagger tous les champs TOS de toutes mes connections sortantes à la valeur tos=0x80?
    J´ai fait très peu de programmation et d´habitude je faisais des codes qui me crée un exécutable et ca me lancé mon petit programme en console.
    Je voudrai aussi savoir comment ca fonctionnait lorsqu´on utilisait des fonctions de Windows comme dans ce programme. Il va aussi me créer un xx.exe que je lancerai et qui va me tourner comme un Daemon et me tagger toutes mes connections sortantes?
    Je dispose Dev Cpp pour compiler ce programme.

    Merci pour votre aide,
    Cédric

  2. #2
    Candidat au Club
    Inscrit en
    Mars 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 2
    Par défaut
    Mettre un est ce suffisant pour tagger tous les IP headers?

Discussions similaires

  1. [TOS DI][v5.3.1] Log Statistique - unité du champ ''duration''
    Par fredlaciotat dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 14/02/2014, 07h28
  2. modifier le champ TOS de l'en-tête d'un paquet IP
    Par Miss' Informatique dans le forum Réseau
    Réponses: 0
    Dernier message: 07/10/2011, 10h17
  3. Réponses: 5
    Dernier message: 08/09/2008, 14h25
  4. Probleme de marquage du champ ToS
    Par riad_QoS dans le forum Linux
    Réponses: 1
    Dernier message: 17/03/2008, 10h18
  5. Accès aux champs du request header
    Par clisson dans le forum XMLRAD
    Réponses: 23
    Dernier message: 26/03/2007, 09h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo