NOM¶
pydhcplib.DhcpPacket - Classe évoluée contenant un paquet dhcp.
SYNOPSIS¶
from pydhcplib.DhcpPacket import DhcpPacket
packet = DhcpPacket()
DESCRIPTION¶
La classe pydhcplib.DhcpPacket est une évolution de la classe
DhcpBasicPacket. Elle y ajoute un certain nombre de méthode permettant
une manipulation plus aisée du paquet.
METHODES¶
str() - Retourne une version textuelle du paquet lisible par un humain.
IsDhcpDiscoverPacket() - Renvoie True si le paquet est une annonce
"DISCOVER".
IsDhcpOfferPacket() - Renvoie True si le paquet est une annonce
"OFFER".
IsDhcpRequestPacket() - Renvoie True si le paquet est une annonce
"REQUEST".
IsDhcpDeclinePacket() - Renvoie True si le paquet est une annonce
"DECLINE".
IsDhcpAckPacket() - Renvoie True si le paquet est une annonce "ACK".
IsDhcpNackPacket() - Renvoie True si le paquet est une annonce "NACK".
IsDhcpReleasePacket() - Renvoie True si le paquet est une annonce
"RELEASE".
IsDhcpInformPacket() - Renvoie True si le paquet est une annonce
"INFORM".
GetMultipleOptions(list) - Prend en argument une liste de nom d'options. Renvoie
un dictionnaire dont les clefs sont les noms des options. Si une des options
n'existait pas, la valeur correspondant à la clef est False, mais la clef
est quand-même là.
SetMultipleOptions(dict) - Prend en argument un dictionnaire dont les clefs sont
les noms des options et les valeurs sont les valeurs des options
correspondantes. Ne retourne rien (?FIXME).
CreateDhcpOfferPacketFrom(DhcpBasicPacket) - Transforme ce paquet en packet de
type "OFFER" en réponse au paquet de type "DISCOVER"
fourni en argument.Ne retourne rien (?FIXME).
CreateDhcpAckPacketFrom(DhcpBasicPacket) - Transforme ce paquet en packet de
type "ACK" en réponse au paquet de type "INFORM" ou
"REQUEST" fourni en argument.Ne retourne rien (?FIXME).
CreateDhcpNackPacketFrom(DhcpBasicPacket) - Transforme ce paquet en packet de
type "NACK" en réponse au paquet de type "INFORM" ou
"REQUEST" fourni en argument.Ne retourne rien (?FIXME).
GetClientIdentifier() - Retourne l'option "client identifier"
définie l'entête du paquet.
GetGiaddr() - Retourne l'option "giaddr" définie l'entête du
paquet.
GetHardwareAddress() - Retourne l'option "chaddr" définie dans
l'entête du paquet avec une taille limitée par le champs
"hlen" défini dans cette même entête.
EXEMPLES¶
Programme d'exemple :
from pydhcplib.dhcp_packet import DhcpPacket
from pydhcplib.type_strlist import strlist
from pydhcplib.type_ipv4 import ipv4
packet = DhcpPacket()
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])
packet.PrintHeaders()
packet.PrintOptions()
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.DhcpRawClient(3),
pydhcplib.DhcpDerver(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)