Skip to main content

fingerhost

Trying to find an easy and unprivileged way to obtain fingerprints from the execution environments, I realised there was no single, easy way to obtain those fingerprints.

This software project provides the machinery to gather several kind of host fingerprints:

  • gethostid / hostid. This is the most ancient standardised method to obtain a host fingerprint, which is currently deprecated in favour of machine-id, so most of the hosts are returning 007f0100.

  • machine-id. The file /etc/machine-id contains the value initialised by either systemd-machine-id-setup or dbus-uuidgen. There are more details available at https://wiki.debian.org/MachineId . This system is the current de-facto standard, but it is unreliable on containerised environments (like docker or singularity instances) and high availability host environments, where the hosts are cloned from a based one and the contents of the file are not re-generated.

  • Location: in several scenarios executions can happen both at the host and singularity containerised environments, giving the very same values for the machine-id, so it is worth detecting whether the execution happened within a container instance.

  • Fingerprints derived from block devices and mounted filesystems: These fingerprints are both cheap and accurate, because they are based on disk ids, disk uuids and partition uuids located at /dev/disk/. Depending on the isolation of the location, they could be unavailable.

Release files for fingerhost 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fingerhost 1.0.0
File Size Uploaded
fingerhost-1.0.0.tar.gz 14.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fingerhost 1.0.0
File Interpreter ABI Platform
fingerhost-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 29.8 kB

Release files / fingerhost-1.0.0.tar.gz

Download URL fingerhost-1.0.0.tar.gz
Size 14.3 kB
Tags Source
SHA-256 checksum
How to use checksums
377611ed0a8bf7a9218e62b4dfe9ba9e1c26d3fdef81c6ea053ddee836aed9c4
BLAKE2b-256 checksum
How to use checksums
ac780d0778a016d752d01e949d9fb949ce605a0ddf682286331e7f8055a15e8a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / fingerhost-1.0.0-py3-none-any.whl

Download URL fingerhost-1.0.0-py3-none-any.whl
Size 15.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c4bda6d2b7a81fa57247d691cef6271155800d12921694505c7e784e38df5510
BLAKE2b-256 checksum
How to use checksums
b975c83d3392a37ca57718dd3db3493c52c490dd4fb9491598c177aac2c68947
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page