ProtoGANist: Protocol Reverse Engineering using Generative Adversarial Networks