1. Introduction
2. Overview
2.2. Unified Process Model for Network Protocol Fuzzing
2.3. Categorization of Protocol Fuzzers
3. Protocol Syntax Acquisition and Modelling
3.1. Terminologies
3.2. Message Syntax Acquisition
3.3. State Syntax Acquisition
4. Test Case Generation
4.1. Generation-based Protocol Fuzzers
4.2. Mutation-based Protocol Fuzzers
4.3. FITM (Fuzzer-in-Middle)
5. Test Execution and Monitor
5.1. Snapshots
5.2. Network Function Replacement or Emulation
6. Feedback Information Acquisition and Utilization
6.1. Response Code
6.2. Coverage
6.3. Branch Feedback and Variable Feedback
6.4. Memory Feedback
7. Directions and Perspectives for Future Research
7.1. High Expandability
7.2. More Effective Feedback
7.3. Complex Testing Scenarios
8. Conclusions