diff options
author | Luca Deri <lucaderi@users.noreply.github.com> | 2020-09-20 18:34:27 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-20 18:34:27 +0200 |
commit | ff1cc1fa418174c407f85fe19a21d5ef588c4e98 (patch) | |
tree | bb4c2dd8f443bc635714354a1630f5e6747fd6d7 | |
parent | ea9177cc9397270172e16e10e2ed947c8471323c (diff) | |
parent | dcac633878e2975e3652739a461b121b27bd9aaa (diff) |
Merge pull request #1019 from IvanNardi/quic_fb
QUIC: add support for MVFST EXPERIMENTAL version
-rw-r--r-- | src/lib/protocols/quic.c | 5 | ||||
-rw-r--r-- | tests/pcap/quic-mvfst-exp.pcap | bin | 0 -> 26813 bytes | |||
-rw-r--r-- | tests/result/quic-mvfst-exp.pcap.out | 8 |
3 files changed, 12 insertions, 1 deletions
diff --git a/src/lib/protocols/quic.c b/src/lib/protocols/quic.c index 2a4c7294b..5585fe3dc 100644 --- a/src/lib/protocols/quic.c +++ b/src/lib/protocols/quic.c @@ -64,6 +64,7 @@ extern int http_process_user_agent(struct ndpi_detection_module_struct *ndpi_str #define V_T051 0x54303531 #define V_MVFST_22 0xfaceb001 #define V_MVFST_27 0xfaceb002 +#define V_MVFST_EXP 0xfaceb00e #define QUIC_MAX_CID_LENGTH 20 @@ -131,6 +132,7 @@ static int is_version_supported(uint32_t version) version == V_T051 || version == V_MVFST_22 || version == V_MVFST_27 || + version == V_MVFST_EXP || is_quic_ver_greater_than(version, 23)); } static int is_version_with_encrypted_header(uint32_t version) @@ -786,7 +788,8 @@ static int quic_derive_initial_secrets(uint32_t version, sizeof(handshake_salt_draft_22), cid, cid_len, secret); } else if(is_quic_ver_less_than(version, 28) || - version == V_MVFST_27) { + version == V_MVFST_27 || + version == V_MVFST_EXP) { err = hkdf_extract(GCRY_MD_SHA256, handshake_salt_draft_23, sizeof(handshake_salt_draft_23), cid, cid_len, secret); diff --git a/tests/pcap/quic-mvfst-exp.pcap b/tests/pcap/quic-mvfst-exp.pcap Binary files differnew file mode 100644 index 000000000..ea600bc49 --- /dev/null +++ b/tests/pcap/quic-mvfst-exp.pcap diff --git a/tests/result/quic-mvfst-exp.pcap.out b/tests/result/quic-mvfst-exp.pcap.out new file mode 100644 index 000000000..085f42c44 --- /dev/null +++ b/tests/result/quic-mvfst-exp.pcap.out @@ -0,0 +1,8 @@ +Facebook 30 26309 1 + +JA3 Host Stats: + IP Address # JA3C + 1 2aac:cdf7:d506:7807:9092:75f:a963:f4ab 1 + + + 1 UDP [2aac:cdf7:d506:7807:9092:75f:a963:f4ab]:57587 <-> [3f65:ece9:fe71:6e2a:face:b00c::358e]:443 [proto: 188.119/QUIC.Facebook][cat: SocialNetwork/6][9 pkts/4054 bytes <-> 21 pkts/22255 bytes][Goodput ratio: 86/94][0.16 sec][ALPN: h3-fb-05][TLS Supported Versions: TLSv1.3;TLSv1.3 (draft)][bytes ratio: -0.692 (Download)][IAT c2s/s2c min/avg/max/stddev: 0/0 15/4 55/56 19/13][Pkt Len c2s/s2c min/avg/max/stddev: 93/105 450/1060 1294/1294 505/429][TLSv1.3][Client: video.fmct2-3.fna.fbcdn.net][JA3C: 61d8a93ff379660087082a82411f19a2][PLAIN TEXT (wEPCri)][Plen Bins: 3,20,3,0,0,0,0,0,3,0,3,0,0,0,0,0,0,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,61,0,0,0,0,0,0,0,0,0] |