  We present Prognosis, a framework offering automated closed-box learning and
analysis of models of network protocol implementations. Prognosis can learn
models that vary in abstraction level from simple deterministic automata to
models containing data operations, such as register updates, and can be used to
unlock a variety of analysis techniques -- model checking temporal properties,
computing differences between models of two implementations of the same
protocol, or improving testing via model-based test generation. Prognosis is
modular and easily adaptable to different protocols (e.g., TCP and QUIC) and
their implementations. We use Prognosis to learn models of (parts of) three
QUIC implementations -- Quiche (Cloudflare), Google QUIC, and Facebook mvfst --
and use these models to analyze the differences between the various
implementations. Our analysis provides insights into different design choices
and uncovers potential bugs. Concretely, we have found critical bugs in
multiple QUIC implementations, which have been acknowledged by the developers.
