![]() |
General Programming »
Internet / Network »
General
Intermediate
Bare bones BOOTP daemon/serverBy Dennis KuppensThis project presents a bare bones BOOTP daemon/server. Bootp is a protocol to assign an IP address to a device via its MAC address. |
VC8.0Win2K, WinXP, Visual Studio, MFC, Dev
|
||||||||
|
Advanced Search |
|
|
|
||||||||||||||||
This article describes a very bare bones bootp daemon/server.
I needed a very simple bootp daemon for my current project but I could not find one on codeproject so I programmed one.
For more information about the bootp protocol see the wikipedia site about it.
This bootp daemon only implements a subset of the bootp RFC-951 but it is enough to work for simple devices like the one I use in my project. The server can only handle one mac and ip address pair, but it is easy to expand the code to handle more pairs.
#include "bootpd.h"
void main(void)
{
// Create the bootpd object
Bootpd bootpd;
// Set the broadcast address
// You can use a mask to limit the broadcast scale
// example '10.0.255.255'. In theory 255.255.255.255 means broadcast
// to everyone in the world, but in practice filter routers these
// messages.
bootpd.m_broadcastIp = "255.255.255.255";
// Set the server address
// Use 0.0.0.0 to listen to all network messages from anyone connected
// to the network.
bootpd.m_interfaceIp = "0.0.0.0";
// The ip address the bootp device should get.
bootpd.m_targetIp = "10.0.1.55";
// The mac address of the device. Case insensitive.
bootpd.m_targetMac = "00:11:22:33:aa:bb";
// Now start the server and listen to requests.
bootpd.Start();
}
Bootp is a connection less protocol. This code will show you how to create a listening socket to listen to broadcast messages and how to send a broadcast message.
1.0 | 9 June 2007 | Initial version.
General
News
Question
Answer
Joke
Rant
Admin
|
PermaLink |
Privacy |
Terms of Use
Last Updated: 17 Jul 2007 Editor: |
Copyright 2007 by Dennis Kuppens Everything else Copyright © CodeProject, 1999-2009 Web20 | Advertise on the Code Project |