Remote device fingerprinting tasks generally consist of actively probing devices, extracting information from the response to the probes, and using the extracted information to classify the devices.