Welcome to DHCPcFP’s documentation!

Contents:

dhcpcfp - DHCP fingerprint scanner

dhcpcfp scans the DHCP client REQUEST packet and creates a report with the fingerprinting data found, the differences of that data with dhcpcanon and how to avoid to be fingerprinted through DHCP.

It can be run in the following ways:

From the same machine that sends a DHCP packet

This way it the recommended one for end users. Without any arguments, it will by default: 1. Obtain a DHCP Request packet scanning in active network interface.

It will only scan for packets generated from the same interface, therefore it can take some time unless the interface is restarted.
  1. It will query a database with DHCP fingerprints to try to guess device and/or operating system. TBD
  2. It will generate a report with the datapoints found, the guessed devices/ operating system and recommendations on DHCP clients less fingerprintable.

A machine that scans for DHCP packets in the local network

__ADVICE__: this is only recommended for demonstration purposes. It is strongly discouraged to run in a network without informed consent from other users of the network.

In this way dhcpcfp will scan for DHCP packets not only generated by the same machine where it runs, but also from the local network.

TBD

Providing a pcap file

In this way dhcpcfp do not scans the network, but obtain the DHCP packets from a pcap file.

TBD

Providing a DHCP fingerprint

Providing a DHCP fingerprint (Parameter Request List option) and/or DHCP vendor option obtained running this same program previously or TBD...

Install dhcpcfp

Installation in Debian/Ubuntu from source code

Install system dependencies

sudo apt install python-dev

Install dhcpcfp dependencies with virtualenv

Obtain virtualenv

Check https://virtualenv.pypa.io/en/latest/installation.html or if Debian equal/newer than Jessie (virtualenv version equal or greater than 1.9), then:

sudo apt install python-virtualenv
Create a virtual environment
mkdir ~/.virtualenvs
virtualenv ~/.virtualenvs/dhcpcfpenv source
~/.virtualenvs/dhcpcfpenv/bin/activate
Install dependencies in virtualenv
git clone https://github.com/juga0/dhcpcfp
cd dhcpcfp
pip install -r requirements.txt

or run:

python setup.py install

or run:

pip install dhcpcfp

Indices and tables