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

Linux Discussion :

sniffer libpcap ne capture pas les trames locales


Sujet :

Linux

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 14
    Points : 6
    Points
    6
    Par défaut sniffer libpcap ne capture pas les trames locales
    Bonjour,

    j'ai utilisé le tutoriel de la libpcap pour me faire un sniffer réseau:
    http://www.tcpdump.org/pcap.htm
    Mon problème est que je veux capturer des trames UDP restant locales, c'est-à-dire avec pour adresse IP de destination la même que l'adresse IP source.
    Or je ne sais pas pourquoi seules les trames à destination d'une autre IP sont capturées...
    Par contre dès que j'utilise wireshark, ca fonctionne.
    Quelqu'un sait pourquoi?

    Mon code est dans le fichier joint.

    Merci d'avance
    Fichiers attachés Fichiers attachés

  2. #2
    Membre émérite Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Points : 2 280
    Points
    2 280
    Par défaut
    tu ne nous dis pas comment tu invoques ton programmes, de plus, l'exemple que fournit libpcap n'est vraiment pas le meilleur...

  3. #3
    Futur Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Il y une partie de mon programme qui concerne la retransmission des trames recue, donc pas intéressant ici.
    Le filtre appliqué au sniffer est dans un fichier de config, j'utilise la string
    "udp dst port 1503".
    Ensuite la payload est simplement affichée...

    Je n'ai pas le temps de réécrire quelque chose, donc si quelqu'un voit ce qui ne va pas, peut-être un paramètre à changer...

  4. #4
    Membre émérite Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Points : 2 280
    Points
    2 280
    Par défaut
    Tu as rebondis sur ma remarque mais tu n'as pas répondu à ma question , du coup tout le monde perd du temps....
    Comment invoques tu ton programmes : quels arguments lui passes tu?

  5. #5
    Futur Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Je ne passe aucun argument

  6. #6
    Membre émérite Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Points : 2 280
    Points
    2 280
    Par défaut
    Il vient peut être de là le problème, essaye de l'invoquer comme ça:

  7. #7
    Futur Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Merci tu es un génie!

    Ca fait quoi de rajouter "lo"?
    Comme ca je serai moins ignorant

  8. #8
    Membre émérite Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Points : 2 280
    Points
    2 280
    Par défaut
    Par défaut, si tu ne spécifies pas d'interface réseau pour ton programme, il va en trouver une tout seul comme un grand, et généralement il va choisir eth0. Hors tes sockets sont locales, elles utilisent donc l'interface loopback (lo). Voilà pourquoi j'ai précisé à ton programme de prendre l'interface lo et pas eth0 (par défaut).
    http://fr.wikipedia.org/wiki/Localhost

  9. #9
    Futur Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    OK merci beaucoup.
    Existe-t-il un moyen de capturer les trames sur device lo et eth0 en même temps?

  10. #10
    Membre émérite Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Points : 2 280
    Points
    2 280
    Par défaut
    Si tu est sous linux, tu peux passer "any"

  11. #11
    Futur Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Ca par contre il aime pas,
    j'ai un message "any is not an Ethernet".
    Pourtant je suis bien sous Ubuntu...

  12. #12
    Membre émérite Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Points : 2 280
    Points
    2 280
    Par défaut
    essaye comme ça
    Fichiers attachés Fichiers attachés

  13. #13
    Futur Membre du Club
    Inscrit en
    Janvier 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    Maintenant ca ne bloque plus, mais les paquets ne sont pas bien déchiffrés. Effectivement le programme n'est peut être pas très bien concu.
    Mais c'est pas grave, je peut faire ce que je voulais, je te remercie beaucoup.

    Je clos le sujet

  14. #14
    Membre émérite Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Points : 2 280
    Points
    2 280
    Par défaut
    Oui effectivement, il y a des restrictions :
    For now, this doesn't work on the "any" device; if an argument of "any" or NULL is supplied, the promisc flag is ignored.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Wireshark : Je ne vois pas les trames de mes ping
    Par EinsteinEmc2 dans le forum Windows
    Réponses: 11
    Dernier message: 02/02/2014, 16h24
  2. Réponses: 1
    Dernier message: 24/07/2009, 10h59
  3. sniffer libpcap ne capture pas les trames locales
    Par guillaumedu78 dans le forum Réseau
    Réponses: 2
    Dernier message: 20/04/2009, 10h15
  4. capturer les trames Wifi
    Par stigma dans le forum Développement Mobile en Java
    Réponses: 9
    Dernier message: 03/03/2009, 15h35
  5. [TCP/IP] pour capturer les trames
    Par fatiha dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 09/01/2006, 14h30

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