Protocol Ethernet / Type de trame Ethernet.

Protocol Ethernet / Type de trame Ethernet. - Réseaux - Réseaux grand public / SoHo

Marsh Posté le 08-11-2017 à 17:22:49    

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 :
  1. rawSocket = socket.socket(socket.AF_PACKET, socket.SOCK_RAW, socket.htons(0x0003))
  2. packet = rawSocket.recvfrom( 2048 )
  3. ethernet_header = packet[0][0:14]
  4. ethernet_detailed = struct.unpack("!6s6s2s", ethernet_header)
  5. ethertype = ethernet_detailed[2]
  6. if ethertype == '\x00\x06':
  7.    Mes action


 
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.  
Alex


---------------
Mon blog domotique : https://framboiseaupotager.blogspot.fr/
Reply

Marsh Posté le 08-11-2017 à 17:22:49   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed