Module retina_core::protocols::stream::quic
source · Expand description
QUIC protocol parser.
§Remarks
[QUIC-INVARIANTS] https://datatracker.ietf.org/doc/rfc8999/ [QUIC-RFC9000] https://datatracker.ietf.org/doc/rfc9000/ (Quic V1) Retina currently only parses Quic Long and Short Headers and does not attempt to parse TLS or HTTP/3 out of Quic packets. The Quic protocol parser makes several assumptions about the way that quic packets will behave:
- Assume that the Quic version is one as listed in the QuicVersion Enum in the quic/parser.rs file
- Assume that the dcid of a short header is a maximum of 20 bytes.
- Assume that the packet will not try to grease the fixed bit. QUIC-GREASE
Additionally, there are a couple decisions made in the design of the quic parser:
- The parser will not parse a short header dcid if it is not a part of a pre-identified connection
- The payload bytes count is a lazy counter which does not try to exclude tokens for encryption, which is a process that happens in wireshark.
Structs§
- Parsed Quic connections
- Quic Long Header
- Parsed Quic Packet contents
- Quic Short Header
Enums§
- Errors Thrown throughout QUIC parsing. These are handled by retina and used to skip packets.