Loading

NOM

       pydhcplib.DhcpBasicPacket - Classe de base contenant un paquet dhcp.

SYNOPSIS

       from pydhcplib.DhcpBasicPacket import DhcpBasicPacket

       packet = DchpBasicPacket()

       La  classe  pydhcplib.DhcpBasicPacket  est  la  classe  élémentaire  de
       traitement d’un paquet dhcp. Elle  contient  le  strict  nécessaire  au
       traitement  de  paquets,  tous  les  ajouts  et fonctions évoluées sont
       déportées vers la classe DhcpPacket.

       Un paquet dhcp est constitué de 2 parties distinctes : l’entête et  les
       options.  L’entête  d’un  paquet  à une taille fixe, et tous les champs
       sont définis (voir RFC 2131). La taille de la  partie  optionnelle  est
       quand  à  elle  variable  et  ne  contenir qu’une seule option. Dans le
       DhcpBasicPacket, chaques champs, optionnel ou non, est manipulé par les
       mêmes  fonction.  Ainsi  les  methodes  SetOption  ou GetOption servent
       autant à fixer ou récupérer le contenu d’un champs  de  l’entête  qu’un
       champs optionnel.

METHODES

       IsDhcpPacket()  - Renvoie True si le "Magic Cookie" est retrouvé au bon
       endroit dans le packet. Sinon renvoie False.

       DeleteOption(string) - Sert à supprimer un champs ou son contenu. Si le
       champs n’existe pas, False est renvoyé. Si le champs est dans la partie
       optionnelle du paquet dhcp, il est supprimé.  Si  le  champs  est  dans
       l’entête  du paquet, l’ensemble des octets le constituant sont mis à 0.
       string est le nom de l’option à supprimer.

       GetOption(string) - Sert à récupérer la valeur d’une option. La methode
       renvoie  une  liste  d’octet  avec  le  contenu de l’option ou False si
       l’option n’existe pas. Les champs  de  l’entête  du  paquet  dhcp  sont
       considérés comme des options et renvois toujours quelquechose.

       SetOption(string,list)  -  Sert  à  fixer  la  valeur  d’une option. Le
       premier argument est le nom de l’option, le deuxième une liste  d’octet
       (comme  [0,25,200]).  Les  noms  d’options  possible  sont les noms des
       champs de l’entête et les noms des  options  définies  dans  le  module
       pydhcplib.dhcp_constants.  La  taille  de la liste d’octet dépend de la
       définition du champs dans pydhcplib.dhcp_constants.

       IsOption(string) - L’argument est un  nom  d’option.  Renvoie  True  si
       l’option existe dans le paquet. Renvoie toujours True pour un champs de
       l’entête. Renvoie False si l’option n’existe pas et n’est pas un champs
       d’entête.

       EncodePacket()  -  Génère  un  paquet  dhcp  (une  chaine de caractère)
       encodant l’entête ainsi que toutes les options  définies  préalablement
       dans  le  paquet  (sans oublier le "Magic Cookie"). Cette chaine est un
       paquet dhcp valide.

       DecodePacket(string) - Prend en argument un  paquet  dhcp  "brut"  (une
       chaine  de  caractère  en  fait)  et  décode tous les éléments pour les
       rendre manipulable avec SetOption, GetOption, ou DeleteOption.

EXEMPLES

       Programme dexemple :

       from pydhcplib.dhcp_packet import DhcpPacket
       from pydhcplib.type_strlist import strlist
       from pydhcplib.type_ipv4 import ipv4
       packet = DhcpBasicPacket()
       packet.SetOption("domain_name",strlist("anemon.org").list())
       packet.SetOption("router",ipv4("192.168.0.1").list()+[6,4,2,1])
       packet.SetOption("time_server",[100,100,100,7,6,4,2,1])
       packet.SetOption("yiaddr",[192,168,0,18])

VOIR AUSSI

       pydhcp(8), pydhcplib.hwmac(3), pydhcplib.ipv4(3), pydhcplib.strlist(3),
       pydhcplib.DhcpPacket(3),                  pydhcplib.DhcpBasicPacket(3),
       pydhcplib.DhcpNetwork(3),                      pydhcplib.DhcpClient(3),
       pydhcplib.DhcpServer(3)

BUGS

       Probablement  plein...  pydhcplib  est  en cours de développement. Voir
       http://pydhcplib.tuxfamily.org/ pour plus d’informations.

AUTHOR

       Mathieu Ignacio (mignacio[AT]april.org)

                                                  pydhcplib.DhcpBasicPacket(3)