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 :

Raw Socket sous linux


Sujet :

C++

Vue hybride

geek-59600 Raw Socket sous linux 12/10/2009, 21h42
Mac LAK A ta place, et pour éviter un... 13/10/2009, 10h39
geek-59600 Merci bien, disons qu'avant... 13/10/2009, 14h15
Mac LAK Je dirais plutôt le contraire... 13/10/2009, 15h16
geek-59600 Aurais tu des lien à me... 13/10/2009, 21h06
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 154
    Par défaut Raw Socket sous linux
    Bonsoir,

    Ca fait quelques temps que je m'essaye au socket sous linux mais sans grand sucées ; j'aimerai tout simplement envoyer via socket RAW des requêtes arp .

    Je me suis documenté sur le contenu du trame ARP/Ethernet et je pense avoir correctement assimilé la chose.

    Le problème se situe dans la rédaction du code, j'aimerai savoir si vous connaissez un site ( en francais si possible ) qui explique comment réaliser un socket RAW de façon détaillé et commenté ?

    Merci d'avance et bonne soirée

  2. #2
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    A ta place, et pour éviter un sacré paquet d'emm...., je passerais par libpcap pour émettre (et recevoir ! ) mes trames en raw.

    Tu pourras émettre des trames raw en utilisant la fonction pcap_inject (sous Linux) et pcap_sendpacket (sous Windows). Ne me demande pas pourquoi les fonctions sont différentes sur les deux OS, je n'en sais rien, mais un coup de compilation conditionnelle règle très vite le souci.
    Au pire, tu cherches un wrapper C++ vers cette librairie, par exemple libpcap++ (je ne l'ai pas testée par contre).

    Si tu tiens absolument à passer par une programmation manuelle des raw sockets, alors direction le mode promiscuous et l'ouverture avec socket(AF_RAWETH,SOCK_RAWETH,0)... J'ai déjà testé, c'est loin d'être trivial à mettre en place et, en plus, tu as pas mal de soucis de compatibilité / portabilité avec ce genre de code. Or, c'est justement ce que va t'éviter l'utilisation de libpcap.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 154
    Par défaut
    Merci bien, disons qu'avant d'utiliser libpcap j'aimerai comprendre les sockets fait "à la main"

    Je vais creuser ta piste, merci

  4. #4
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Citation Envoyé par geek-59600 Voir le message
    Merci bien, disons qu'avant d'utiliser libpcap j'aimerai comprendre les sockets fait "à la main"
    Je dirais plutôt le contraire exactement, pour ma part, et j'ai pourtant "bouffé" pas mal de raw sockets... Utilises-les déjà au niveau applicatif (décodage des différents layers) avant de te mêler de la tripaille interne de l'OS pour les faire fonctionner !
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 154
    Par défaut
    Aurais tu des lien à me conseiiler pour les sockets selon la méthode que tu m'a décrite ( AF_RAWETH) car j'en ai jamais entendu parler .

  6. #6
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    man socket... C'est pour ça que je te conseille de passer par libpcap.

    Crois-moi sur parole : j'ai bouffé des raw sockets sur trois OS différents (dont Linux, Windows et un unix-like), et en mode bourrin. Ben au final, je ne suis pas prêt de retenter l'expérience en tapant directement dans les sockets BSD : c'est inutile, pas portable et les perfs sont moins bonnes qu'avec la libpcap.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

Discussions similaires

  1. Socket sous linux
    Par Pierrick584 dans le forum Débuter
    Réponses: 6
    Dernier message: 27/04/2010, 10h32
  2. Probleme socket RAW sous linux
    Par wbaccari dans le forum Réseau
    Réponses: 0
    Dernier message: 07/08/2009, 17h16
  3. Socket sous Linux
    Par kobton dans le forum C++
    Réponses: 6
    Dernier message: 20/06/2008, 10h16
  4. Socket sous Linux & Windows
    Par Jielde dans le forum Linux
    Réponses: 3
    Dernier message: 17/06/2007, 14h04
  5. Problème erreurs sockets sous Linux
    Par Ange44 dans le forum Linux
    Réponses: 6
    Dernier message: 05/09/2006, 16h16

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