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

Réseau C Discussion :

Socket raw non envoyé


Sujet :

Réseau C

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2016
    Messages : 11
    Points : 9
    Points
    9
    Par défaut Socket raw non envoyé
    Bonjour,

    Je rencontre un petit souci dans le codage d'une socket brute, il me manque pas grand chose je pense. Le compilateur me retourne aucune erreur mais sous wireshark le paquet n'est pas envoyé.

    Question: Faut il obligatoirement implémenter une somme de contrôle sous tcp ip ?
    Question: Quel header contient la fonction in_cksum() car impossible de trouver.

    Voici le code:

    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
    //Standard//
    #include <stdio.h>
    #include <stdlib.h>
    #include <unistd.h>
     
    //Réseau//
    #include <sys/socket.h>
    #include <netinet/in.h>
    #include <netinet/ip.h>
    #include <netinet/tcp.h>
    #include <arpa/inet.h>
     
    int main()
    {
     
    // Déscripteur de la Socket : //
     
        int sock = socket(AF_INET, SOCK_RAW, IPPROTO_TCP);
     
        struct sockaddr_in adresse;
     
        adresse.sin_family = AF_INET;
        adresse.sin_port = htons(80);
        adresse.sin_addr.s_addr = inet_addr("178.32.94.206");
     
        char * packet;
     
        packet = malloc(sizeof(struct ip) + sizeof(struct tcphdr));
     
    // En-tête TCP //
        struct tcphdr tcph;
     
        tcph.source = 30000; // Port source //
        tcph.dest = 80; // Port destination //
        tcph.seq = 2500; // Numéro de séquence //
        tcph.syn = 1; // Flag SYN 1 = armé , 0 = désarmé //
        tcph.ack_seq = 0;
        tcph.th_win = htons(32767);
     
    // En-tête IP //
        struct ip iph;
        iph.ip_hl = 4;
        iph.ip_v = 4;
        iph.ip_tos = 0;
        iph.ip_len = sizeof(struct ip) + sizeof(struct tcphdr);
        iph.ip_ttl = 60; // Time to live : nombre de routage maximum //
        iph.ip_p = IPPROTO_TCP; // Protocole  de transport //
        iph.ip_src.s_addr = inet_addr("192.168.42.252"); // IP source //
        iph.ip_dst.s_addr = inet_addr("178.32.94.206"); // IP Destination //
     
    // Envoi du paquet //
        int one = 1;
     
        const int *val = &one;
     
        setsockopt(sock, IPPROTO_IP, IP_HDRINCL, val, sizeof(one));
     
        sendto(sock, packet, sizeof(packet), 0, (struct sockaddr *) &adresse, sizeof(adresse));
     
        return 0;
    }
    Si quelqu'un pouvait me corriger :p

  2. #2
    Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 33
    Points : 48
    Points
    48
    Par défaut
    Bonjour,
    Et si vous testiez le retour des fonctions, histoire de voir si elles ont pas un message d'erreur tout prêt pour vous?

Discussions similaires

  1. Probleme socket RAW sous linux
    Par wbaccari dans le forum Réseau
    Réponses: 0
    Dernier message: 07/08/2009, 17h16
  2. [socket] probleme de connexion
    Par ultimax dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 26/10/2006, 11h21
  3. socket raw Probleme !
    Par MonsieurAk dans le forum Windows
    Réponses: 3
    Dernier message: 25/04/2006, 14h07
  4. [C++] Probleme de connexion socket client à mon serveur smtp
    Par matthieu5978 dans le forum Développement
    Réponses: 2
    Dernier message: 04/12/2005, 08h19
  5. [PostgreSQL]probleme de connexion par pgaccess
    Par yacomor dans le forum Administration
    Réponses: 9
    Dernier message: 14/11/2002, 16h15

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