From PyDhcpLib website

Site: EnglishPydhcpDocumentation

Pydhcp documentation

This documention is available for pydhcp version 0.5. This release is not yet published, then this document is not very useful for users :)

pydhcp takes an input and an output argument. Input and output are described in the same way.

Input and Output field description

Here an example pydhcp usage that read 2 dhcp packets from the network device eth 0 in binary form, and copy them to the file <myfile.txt> in human readable form. If the network device eth0 id down, pydhcp set it up :

pydhcp --input 'device;binary|up;eth0:68' --output 'file;readable;myfile.txt' -c 1

The input/ouputsynopsis is :

'<TYPE>;<OPTIONS>;<NAME>'

<TYPE> field

There is 5 types for the <TYPE> field. Only one type at once can be used : device, address, file, stdin and stdout. device tells pydhcp to write or listen directly on the network interface and port. address is to write or listen on a specific Internet Address and port (like 192.168.1.1:67 ). file read or write data from or to a file. stdin read data from stdin, stdout write data on stdout.

<OPTIONS> field

You can use multiple options in the option field by separate them with a pipe |. There is 4 options for this field : readable, binary, up and noup. readable id to read or write data in a human readable language : a packet definition language. This language is described later. Binary form stand for reading or writing packets in the same binary form they are on the network : an UDP packet. readable and binary are mutually exclusive. Option up tells pydhcp to set the network interface up if not. noup tells not to set up the interface. up and noup are only useful in combination with the device type. Default is noup.

<NAME> field

Describe the name of the device (eth0:67,wlan0:client) , the address (192.168.1.1), or the filename (foo.txt). You can use a port number or the keywords client and server for standard dhcp port.

Other command line options of pydhcp

Option -c : Number of packet to read or write. 0 for unlimited number of packet. Default is 0.

Known limitations

Examples

Read a client packet on any address and write it on a human readable file :

pydhcp -i "address;binary;0.0.0.0:67" -o "file;readable;myfile.bin"

Read a binary dhcp packet from a file and print it on stdout in a human readable form :

pydhcp -i "file;binary;myfile.bin" -o "stdout;readable;"

Retrieved from http://pydhcplib.tuxfamily.org/pmwiki/index.php?n=Site.EnglishPydhcpDocumentation
Page last modified on February 01, 2009, at 12:38 PM EST