All the Fingerbank clients will either partially work or not work if you do not provide a valid API key obtained from https://api.fingerbank.org.
Fingerbank is a wealth of information and exploiting its potential could be challenging. We have done hundreds of large-scale deployments using Fingerbank in parallel of PacketFence, our Open Source NAC. Let us help you integrate Fingerbank to your product!
Use the free public API. Register and you'll get a free key that you can use to make API calls from your applications. See the API documentation.
curl \
-X GET \
-H "Content-Type: application/json" \
'https://api.fingerbank.org/api/v2/combinations/interrogate?key=YOURFINGERBANKAPIKEY' \
-d '{"dhcp_fingerprint":"1,33,3,6,12,15,28,51,58,59,119"}'
{
"device": {
"created_at": "2017-09-18T17:12:14.000Z",
"id": 33453,
"name": "Android OS",
"parent_id": 33452,
"parents": [
{
"created_at": "2017-09-18T17:08:09.000Z",
"id": 33452,
"name": "Google OS",
"parent_id": 16879,
"updated_at": "2017-09-20T15:46:34.000Z",
"virtual_parent_id": null
},
{
"created_at": "2017-09-14T18:41:06.000Z",
"id": 16879,
"name": "Operating System",
"parent_id": null,
"updated_at": "2017-09-18T16:33:18.000Z",
"virtual_parent_id": null
}
],
"updated_at": "2017-09-18T17:12:14.000Z",
"virtual_parent_id": null
},
"device_name": "Operating System/Google OS/Android OS",
"score": 75,
"version": ""
}
curl \
-X GET \
-H "Content-Type: application/json" \
'https://api.fingerbank.org/api/v2/combinations/interrogate?key=YOURFINGERBANKAPIKEY' \
-d '{"dhcp_fingerprint":"1,33,3,6,12,15,28,51,58,59,119","dhcp_vendor":"dhcpcd-5.5.6"}'
Output
{
"device": {
"created_at": "2017-09-18T17:12:14.000Z",
"id": 33453,
"name": "Android OS",
"parent_id": 33452,
"parents": [
{
"created_at": "2017-09-18T17:08:09.000Z",
"id": 33452,
"name": "Google OS",
"parent_id": 16879,
"updated_at": "2017-09-20T15:46:34.000Z",
"virtual_parent_id": null
},
{
"created_at": "2017-09-14T18:41:06.000Z",
"id": 16879,
"name": "Operating System",
"parent_id": null,
"updated_at": "2017-09-18T16:33:18.000Z",
"virtual_parent_id": null
}
],
"updated_at": "2017-09-18T17:12:14.000Z",
"virtual_parent_id": null
},
"device_name": "Operating System/Google OS/Android OS",
"score": 75,
"version": "4+"
}
curl \
-X GET \
-H "Content-Type: application/json" \
'https://api.fingerbank.org/api/v2/combinations/interrogate?key=YOURFINGERBANKAPIKEY' \
-d '{"dhcp_fingerprint":"1,33,3,6,12,15,28,51,58,59,119","dhcp_vendor":"dhcpcd-5.5.6","user_agents":["Mozilla/5.0 (Linux; Android 5.0.2; SM-G920F Build/LRX22G; wv) AppleWebK"]}'
Output
{
"device": {
"created_at": "2015-04-16T19:41:45.000Z",
"id": 6368,
"name": "Galaxy S6",
"parent_id": 3809,
"parents": [
{
"created_at": "2014-11-13T12:45:57.000Z",
"id": 3809,
"name": "Samsung Android",
"parent_id": 202,
"updated_at": "2015-04-24T03:09:27.000Z",
"virtual_parent_id": null
},
{
"created_at": "2014-09-09T15:09:52.000Z",
"id": 202,
"name": "Generic Android",
"parent_id": 11,
"updated_at": "2017-09-20T21:28:38.000Z",
"virtual_parent_id": 33453
},
{
"created_at": "2014-09-09T15:09:50.000Z",
"id": 11,
"name": "Phone, Tablet or Wearable",
"parent_id": null,
"updated_at": "2017-09-18T14:58:01.000Z",
"virtual_parent_id": null
}
],
"updated_at": "2015-04-20T06:39:02.000Z",
"virtual_parent_id": null
},
"device_name": "Phone, Tablet or Wearable/Generic Android/Samsung Android/Galaxy S6",
"score": 81,
"version": "4+"
}
When you query the Fingerbank database using the API, if this combination of data is unknown to Fingerbank, it will be automatically added to the Fingerbank database.
Clients that use multiple API keys from the same external IP address will be blocked. Once the key(s) are blocked the client will be unable to change the keys until the block is removed.
bower install fingerbank-client
<script type="text/javascript"
src="http://inverse.ca/downloads/Fingerbank/fingerbank-client.js"></script>
gem install fingerbank_client