Fingerprinting is a method used to determine which operating system is running on a remote computer. There are two types of fingerprinting: