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 :

Encapsuler une requete http dans dns


Sujet :

C++

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2010
    Messages
    16
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 16
    Par d�faut Encapsuler une requete http dans dns
    Bonjour,

    Je voudrai savoir comment encapsuler une requete http dans un paquet DNS-j�esp�re que j'ai bien utilis� les bons termes -
    Tout cela bien �videment en C++ ou en C.

    Est ce que qqn a une id�e

    Merci d'avance.

    Je donne d�j� deux liens, un pour la req http et l'autre pour le DNS, si cela va aider, en tt cas c'est tout ce que j'ai pour le moment comme piste

    DNS: http://www.binarytides.com/dns-query...-with-winsock/
    Http: http://www.iprelax.fr/http/http_prog8.php

  2. #2
    Membre Expert
    Homme Profil pro
    �tudiant
    Inscrit en
    Juin 2012
    Messages
    1 711
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 711
    Par d�faut
    Hi,

    Je pense que tu veux dire envoyer une requ�te http en upd (protocole utilis� par dns) ?
    Non c'est pas possible http fonctionne en tcp. (Bien que le port 80 en udp soit r�serv� pour http, mais, � ma connaissance �a n'a jamais �t� utilis�).

  3. #3
    Membre Expert
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Par d�faut
    Si c�est bien pour faire de l�ip over dns, regarde du c�t� de nstx. C�est en C, par contre.

    Cela dit, si tu n�es pas s�r des termes, et que c�est vraiment �a, je te d�conseille de continuer : familiarise toi d�abord avec le fonctionnement r�seau, sur des projets plus acad�miques, et une fois que tu auras bien compris le r�le de chaque couche, qui intervient � quel niveau, tu pourras travailler sereinement l�-dessus.

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2010
    Messages
    16
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 16
    Par d�faut
    Non c'est pas ce que je veux dire

    Ce que je veux faire c'est l'encapsulation d'une req http comme celle-ci:

    GET /index.html HTTP/1.1\r\n"
    "Host: www.monsite.com\r\n"
    "Accept: image/gif, image/x-xbitmap, image/jpeg,"
    " image/pjpeg, image/png, */*"
    "\r\n\r\n"

    Dans un paquet DNS comme ceci :

    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    typedef struct
    {
    unsigned short qtype;
    unsigned short qclass;
    } QUESTION;
     
     
    typedef struct
    {
    unsigned short type;
    unsigned short _class;
    unsigned int ttl;
    unsigned short data_len;
    } R_DATA;
     
     
    typedef struct
    {
    unsigned char *name;
    R_DATA *resource;
    unsigned char *rdata;
    } RES_RECORD;
     
    typedef struct
    {
    unsigned char *name;
    QUESTION *ques;
    } QUERY;
     
    /set up the header
     
    dns->id = (unsigned short)htons(GetCurrentProcessId());
     
    dns->qr = 0; //This is a query
     
    dns->opcode = 0; //This is a standard query
     
    dns->aa = 0; //Not Authoritative
     
    dns->tc = 0; //This message is not truncated
     
    dns->rd = 1; //Recursion Desired
     
    dns->ra = 0; //Recursion not available! hey we dont have it (lol)
     
    dns->z = 0;
     
    dns->ad = 0;
     
    dns->cd = 0;
     
    dns->rcode = 0;
     
    dns->q_count = htons(1); //we have only 1 question
     
    dns->ans_count = 0;
     
    dns->auth_count = 0;
     
    dns->add_count = 0;
     
    //point to the query portion
     
    qname =(unsigned char*)&buf[sizeof(DNS_HEADER)];
     
    ChangetoDnsNameFormat(qname,host);
     
    qinfo =(QUESTION*)&buf[sizeof(DNS_HEADER) + (strlen((const char*)qname) + 1)];
     
     
     
    //fill it
     
    qinfo->qtype = htons(1); //we are requesting the ipv4 address
     
    qinfo->qclass = htons(1); //its internet

    Mon souci maintenant c'est que je sais pas quel champ va contenir la req http qui n'est qu'un String

    Merci encore une fois

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2010
    Messages
    16
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 16
    Par d�faut
    @ white_tentacle
    Ok je vais prendre votre conseil en compte mais j'ai un projet a rendre tres bientot donc ce sera pas possible maintenant

    cela dit, je pense que le terme : "ip over dns" donne deja qqch important sur google, c'est l�id�e de mon projet.

    Reste le p'tit souci que j'ai cit� tt en haut dans mon commentaire

  6. #6
    Membre Expert
    Homme Profil pro
    �tudiant
    Inscrit en
    Juin 2012
    Messages
    1 711
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 711
    Par d�faut
    Je connais pas du tout mais �a � l'air int�ressant comme "truc" du coup.
    Je vais suivre le thread avec attention. ^^

  7. #7
    Membre Expert

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 49
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Par d�faut
    Citation Envoy� par Iradrille Voir le message
    Je connais pas du tout mais �a � l'air int�ressant comme "truc" du coup.
    Je vais suivre le thread avec attention. ^^
    Ca permet de contourner certaines restrictions mise en place sur certains r�seaux. Ceci dit, �a demande une infrastructure idoine en face (certains serveurs DNS vont tout simplement balancer le paquet voir blacklister l'adresse source parce que potentiellement abusif si tu essaies de communiquer avec eux par ce biais) et ce n'est pas tr�s performant. De plus, les performances sont un peu pauvrettes...
    [FAQ des forums][FAQ D�veloppement 2D, 3D et Jeux][Si vous ne savez pas ou vous en �tes...]
    Essayez d'�crire clairement (c'est � dire avec des mots fran�ais complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Caf�. C'est d�pass� tout �a.
    Et si vous �tes sages, vous aurez peut �tre vous aussi la chance de passer � la t�l�. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

  8. #8
    Membre Expert
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Par d�faut
    Citation Envoy� par Kirikou12 Voir le message
    @ white_tentacle
    Ok je vais prendre votre conseil en compte mais j'ai un projet a rendre tres bientot donc ce sera pas possible maintenant
    C�est quoi ton projet exactement ?

    Parce que pour ce genre de trucs, il faut un serveur dns traficot� pour pouvoir interpr�ter le paquet. Si le but est juste de faire transiter un peu de donn�es http via dns et que le serveur r�ponde, tu peux effectivement encapsuler directement du http plut�t que de l�ip, ce qui est plus simple. Tu dois trouver o� dans ton paquet dns il y a de la place utilisable, et ensuite, c�t� serveur, r�cup�rer ces donn�es qui ne sont pas du dns mais qui sont encapsul�es dedans.

    �a implique bien s�r de d�couper correctement ta requ�te http, et de rajouter du contr�le / gestion d�erreurs puisque tu peux t�attendre � des pertes de paquets.

    De plus, les performances sont un peu pauvrettes...
    En fait, c�est �tonnamment pas si pire que �a (j�ai d�j� vu du 60ko/sec en ip sur dns).

  9. #9
    Membre Expert

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 49
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Par d�faut
    Citation Envoy� par white_tentacle Voir le message
    En fait, c�est �tonnamment pas si pire que �a (j�ai d�j� vu du 60ko/sec en ip sur dns).
    Tu m'aurais dit "600ko", ou "6Mo", j'aurais dit "ah oui, c'est pas si pire". Mais tu parles d'une vitesse �quivalente � une ligne ADSL de 512kbis/s.

    Ensuite, sur les r�seaux radio (3G, WiFi), tu va vraiment sentir le probl�me - avec les paquets perdus, le nombre de requ�tes DNS va exploser, et la bande passante va se r�duire comme peau de chagrin
    [FAQ des forums][FAQ D�veloppement 2D, 3D et Jeux][Si vous ne savez pas ou vous en �tes...]
    Essayez d'�crire clairement (c'est � dire avec des mots fran�ais complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Caf�. C'est d�pass� tout �a.
    Et si vous �tes sages, vous aurez peut �tre vous aussi la chance de passer � la t�l�. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

Discussions similaires

  1. R�ponses: 1
    Dernier message: 15/10/2010, 18h31
  2. fournir un user/mdp dans une requete https get
    Par buzuck dans le forum D�veloppement Web en Java
    R�ponses: 2
    Dernier message: 19/11/2007, 15h54
  3. R�ponses: 1
    Dernier message: 24/08/2006, 21h07
  4. R�ponses: 2
    Dernier message: 20/06/2005, 14h57
  5. [http] comment faire une requete http
    Par Slimer dans le forum Entr�e/Sortie
    R�ponses: 5
    Dernier message: 28/07/2004, 11h48

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