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 :

Forger ses propres paquets


Sujet :

Réseau C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 12
    Par défaut Forger ses propres paquets
    Bonjour,

    je cherche à forger mes propres paquets TCP sans passer par un utilitaire (hping, nemesis, etc.), de préférence en C (je suis sous unix).

    J'ai cherché dans la libpcap mais tout ce que j'ai trouvé ce sont des structs utilisables éventuellement.

    Je voudrais pouvoir "forger" et envoyer mes paquets.

    Quelqu'un aurait un lien ou n'importe quel conseil? j'ai cherché sur google mais rien trouvé

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2006
    Messages : 102
    Par défaut
    salut,
    il faut te tourner vers les raw sockets si tu veux forger intégralement le paquet en C.
    Par contre je sais que tu as dit que tu ne voulais pas d'utilitaire, mais jette un coup d'oeuil à SCAPY tout de même, il est vraiment très puissant pour ce genre de chose.

  3. #3
    Membre émérite

    Profil pro
    Inscrit en
    Août 2003
    Messages
    878
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 878
    Par défaut
    Citation Envoyé par Marc_
    je cherche à forger mes propres paquets TCP sans passer par un utilitaire (hping, nemesis, etc.), de préférence en C
    Comme dit par bulki, tu peux te tourner vers les "raw sockets". Sinon, jettes un oeil à libnet.
    Enfin, quand tu veux faire quelque-chose de similaire à ce que fait un outil opensource (comme hping, nemesis, etc), n'oublies pas que tu as le droit de lire son code pour comprendre comment il fonctionne.

    Cordialement,
    DS.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 12
    Par défaut
    Je vais me pencher sur le code des outils open-source effectivement, ça me semble être la meilleure solution.

    Si quelqu'un a un tuto sur les RawSockets et la construction de paquets, je suis preneur évidemment, même si je pense qu'avec google je devrais en trouver.

    Bonsoir,

  5. #5
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2005
    Messages : 241
    Par défaut
    Bonjour,
    pour pouvoir "forger" vos paquets TCP ( vous avez sans doute une bonne raison de vouloir ré-implémenter en espace utilisateur la pile TCP ... ), il vous faut pouvoir accéder au protocole IP.
    Je suis sous Linux, et j'ai trouvé des infos dans les pages de Man, notamment dans la section 7 Raw. Intéressez-vous aussi aux fichiers du répertoire /usr/include/netinet qui contiennent sans doute les descriptions des entêtes de protocoles ( telle celle d'IP, présentée dans ip.h de ce répertoire ).
    Il est annoncé que pour accéder à cette facilité, il vous faut soit être root, soit avoir la capacité CAP_NET_RAW.
    Après, je suppose que l'accès passe par les classiques bind(),send*() ...

    En espérant vous avoir donner une piste ...

    S. Desbois

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 12
    Par défaut
    Merci du conseil je vais lire ces .h immédiatement.

    Vous parlez de ré-implémenter en espace utilisateur la pile TCP .. Par "espace utilisateur", je suppose que ça veut dire ring3.
    Je suppose également que Linux comme Unix gèrent le réseau en ring0, pour plus de rapidité/sécurité.. si c'est le cas, quels sont les fichiers qui contiennent le code?

    Merci de m'avoir donné des pistes ..

  7. #7
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2005
    Messages : 241
    Par défaut
    Bonjour,

    Citation Envoyé par Marc_
    Vous parlez de ré-implémenter en espace utilisateur la pile TCP .. Par "espace utilisateur", je suppose que ça veut dire ring3.
    Je suppose également que Linux comme Unix gèrent le réseau en ring0, pour plus de rapidité/sécurité.. si c'est le cas, quels sont les fichiers qui contiennent le code?
    C'est ce que j'ai déduit de votre demande initiale. "Forger ses paquets TCP" pour moi, c'est essayer de réimplémenter une pile TCP, pour peut-être avoir un contrôle différent dessus. Ou alors pour générer des attaques de types SYN-flood, mais je ne présume de rien.

    Je vous invite à jeter un oeil dans les sources de Linux. Le répertoire linux/net/ipv4 pourra je pense vous interresser.

    Cordialement,
    S. Desbois

Discussions similaires

  1. Réponses: 15
    Dernier message: 04/01/2007, 11h15
  2. [XML+XSLT+MSXML] Ecrire ses propres fonctions
    Par görgh dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 19/05/2005, 13h04
  3. Réponses: 8
    Dernier message: 17/12/2004, 15h58
  4. [CR8.5] Comment executer ses propres requetes SQL.
    Par caviar dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 26/10/2004, 20h44
  5. Programme permettant de créer ses propres paquets TCP/UDP
    Par mat087 dans le forum Développement
    Réponses: 6
    Dernier message: 21/05/2004, 21h42

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