Use decoding instead of pattern match for protocol checking
Service fingerprint lengths are in hex, not decimal