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/Web Python Discussion :

Questions sur type de trame ethernet et librairie socket


Sujet :

Réseau/Web Python

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur avant-vente
    Inscrit en
    Janvier 2017
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur avant-vente
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Janvier 2017
    Messages : 26
    Points : 25
    Points
    25
    Par défaut Questions sur type de trame ethernet et librairie socket
    Bonjour à tous,

    J'ai besoin de vos lumières.
    Je suis en train d'écrire un programme python qui lit les trames Ethernet qui passent sur le réseau et qui réagit en fonction.
    Mon objectif étant d'identifier quand un équipement wifi spécifique se connecter au LAN et envois une requête.

    J'utilise un script python faisant appel à la librairie socket. Je me suis inspiré de codes que j'ai grappillé sur différents forums.
    Voici un morceau du code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    rawSocket = socket.socket(socket.AF_PACKET, socket.SOCK_RAW, socket.htons(0x0003))
    packet = rawSocket.recvfrom( 2048 )
    ethernet_header = packet[0][0:14]
    ethernet_detailed = struct.unpack("!6s6s2s", ethernet_header)
     
    ethertype = ethernet_detailed[2]
    if ethertype == '\x00\x06':
         Mes Actions ...
         ....
    Mon programme marche plutôt bien mais il y a quelque chose que je ne comprends pas.
    Comme vous le voyez, je récupère le type de trame ethernet dans ethertype.
    Lorsque l'équipement monte la connexion je vois toujours plusieurs trames :
    - Une ou deux trames de type 0x0806 : elles correspondent au protocole ARP et je sais à quoi ça sert.
    - Une trame ou plusieurs trames de type 0x800 : ça ce sont des paquets IP. Je sais à peu près ce que c'est.
    - Une trame de type "0x006". Cette trame est toujours unique et survient toujours. Quand je fais des recherches je vois que cela correspond à une famille d'adresses de type 802. Et là je ne comprends plus !

    Alors ma question est la suivante, pour ma compréhension, est-ce que certains d'entres vous savent ce que sont ces trames ? A quoi ça sert ? Comment ça marche grosso-modo ?

    D'avance merci pour le coup de main.
    Alex

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Citation Envoyé par campeaux Voir le message
    Alors ma question est la suivante, pour ma compréhension, est-ce que certains d'entres vous savent ce que sont ces trames ? A quoi ça sert ? Comment ça marche grosso-modo ?
    Le type de trame qui passent sur un Ethernet est un sujet réseau pour lequel vous avez tout une rubrique avec tutos, forums,... et n'est pas spécifique à la programmation réseau avec le langage Python.


    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    salut,

    c'est assez facile de retrouver une liste même non-exhaustive des codes ethertype, en revanche 0x006 je vois pas, t'es sûr de pas avoir fait de faute ?

    par ailleurs tu ne peux pas véritablement caractériser un paquet réseau uniquement en te basant sur son protocole de niveau 2, l'utilisation d'outils comme Wireshark aident grandement à décortiquer les paquets et comprendre ce qui transite

    comme indiqué la section réseau sera peut-être plus à même de répondre aux questions ne traitant que de réseau, la section "Réseau/Web" ici ne rimant en gros qu'avec l'utilisation de Django

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur avant-vente
    Inscrit en
    Janvier 2017
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur avant-vente
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Janvier 2017
    Messages : 26
    Points : 25
    Points
    25
    Par défaut
    Merci pour ta réponse même si je ne suis pas exactement dans le bon forum. J'ai d'ailleurs reposté mon message dans le bon forum mais pour le moment personne ne m'a répondu.
    Après avoir fait quelques recherches j'ai vu qu'il y a deux normes pour les trames Ethernet : Ethernet v2 ou 802.3.
    Si on est en Ethernet v2 alors EtherType est supérieur à 1500. Sinon on est en 802.3.

    Je suis sur de la valeur que je repère. Il s'agit bien de 0x006.

    Je cherche juste à détecter qu'un équipement qui n'est pas connecté monte une connexion wifi sur mon LAN.
    Donc dès que j'observe une trame avec l'adresse MAC de cet équipement je considère qu'il se connecte. Forcément ! ;-)

    Par contre ce que je ne comprends pas c'est quel est le sens de cette trame "0x006" en 802.3 ! SI quelqu'un a des pistes je suis preneur.
    Merci.
    Alex

Discussions similaires

  1. Question sur type de fichier
    Par Kro86 dans le forum ImageJ
    Réponses: 9
    Dernier message: 08/07/2008, 09h39
  2. Question sur le type bool
    Par gentox dans le forum C
    Réponses: 3
    Dernier message: 05/12/2005, 18h55
  3. Question sur les librairies .lib
    Par elvivo dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 05/10/2005, 20h06
  4. [FileMaker 6] Questions urgente sur type de base de donnee
    Par LAPLACE dans le forum Autres SGBD
    Réponses: 2
    Dernier message: 06/09/2004, 17h39
  5. Question sur un controle de type "button"
    Par Invité dans le forum Windows
    Réponses: 2
    Dernier message: 29/05/2004, 11h30

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