Initial import
[project/ufp.git] / README.md
1 # ufp - OpenWrt device fingerprinting
2
3 The daemon uses plugins to gather information about connected devices. Each fingerprint type has a weight. Based on the aggregated weight of all identified data points, the fingerprint is matched against the data base.
4
5 The following plugins currently exist
6 * DHCP
7 * WIFI Taxonomy
8 * MDNS
9
10 ## uBus API
11 * ubus call fingerprint fingerprint - This is the main user facing method, listing the identified devices.
12 * ubus call fingerprint get_data - This lists the raw data used for internal matching,
13
14
15 ## Supported data points
16 * wifi4 - the HT taxonomy
17 * wifi6 - the VHT taxonomy
18 * wifi-vendor-oui-XXYYZZ - identified vendor IEs
19 * dhcp_req - the DHCP discover / request signature
20 * dhcp_vendorid - the vendor ID value inside DHCP discover / request frames
21 * mac-oui-XXYYZZ - OUI of the primary MAC
22
23 All MDNS based fingerprinting is done inside the plugin.
24
25 ## Setting up the code
26 The daemon does not need to be configured, it will try to identify any device it sees on wired and wireless interfaces. The latest version of umdnsd and udhcpsnoop are required for the plugins to work.