Giter Site home page Giter Site logo

dhcparpd's Introduction

DHCPARPD
========
(C) Copyright 2006, Perry Lorier

Status: Alpha

This program sniffs an interface listening for all arp requests.  When an arp
request comes in, it queries an isc-dhcp server using the omapi protocol to
lookup the MAC address of the host that owns the lease for that address, it
then spoofs the correct ARP reply for that response.

This uses:
 * libdhcpctl for the omapi interface
 * libpcap for sniffing the arp packets
 * libnet for packet generation
 * libconfig for config parsing

The application should be mostly portable, except for the use of vasprintf
in arp.c coz I'm lazy.  Patches to remove this limitation accepted :)

The application should be feature complete, but hasn't been tested on a live 
network.

As well as answering arp requests on the specified interface, the program 
listens for arp solicitation messages sent out via the kernel.  To enable this
functionality you must ensure that your kernel is built with CONFIG_ARPD
enabled and then run the following command:
 echo 1 > /proc/sys/net/ipv4/neigh/<iface>/app_solicit
If either of these requirements are false then the kernel will not bother to
send arp solicitation requests to userspace and this program will not be able
to answer them. 

Config File Variables:
interface
 - Interface to listen for arp requests on
server
 - Address of DHCP server
port 
 - OMAPI port
name
 - OMAPI auth name 
key 
 - OMAPI key (base64 format)
mapping
 - Manual IP <-> MAC mappings in the format "<mac> <ip>", may be specified
   multiple times
pidfile
 - Where to put the pidfile, defaults to /var/run/dhcparpd.pid
daemonise
 - 1 to daemonise, 0 to not, defaults to 1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.