支持识别QUANT、PICOQUIC、PQUIC_VERSION_PROX、QUIC_GO、QUICLY、MSQUIC、MOZQUIC、MVFST协议

This commit is contained in:
liuxueli
2020-12-30 00:44:26 +06:00
parent a5fc0784e4
commit 1870120ef1
4 changed files with 98 additions and 25 deletions

View File

@@ -14,7 +14,10 @@
#include "gquic_process.h"
#include "quic_analysis.h"
int is_quant()
{
}
int is_iquic(enum _QUIC_VERSION quic_version)
{
switch(quic_version)
@@ -471,31 +474,29 @@ enum _QUIC_VERSION is_quic_protocol(struct streaminfo *pstream, struct _quic_con
quic_version=parse_quic_header(pstream, _context, payload, payload_len, used_len);
return quic_version;
break;
case GQUIC_VERSION_Q044:
case GQUIC_VERSION_Q045:
case GQUIC_VERSION_Q048:
case GQUIC_VERSION_Q049:
case GQUIC_VERSION_Q050:
case GQUIC_VERSION_Q099:
MESA_handle_runtime_log(g_quic_param.logger, RLOG_LV_DEBUG, "GQUIC", "version: Q%03u addr: %s",
(((quic_version>>8)&0x0000000F)*10) + ((quic_version)&0x0000000F),
printaddr(&pstream->addr, pstream->threadnum));
_context->is_quic=TRUE;
_context->quic_info.quic_hdr.quic_version=quic_version;
return quic_version;
break;
default:
if(is_iquic(quic_version))
if( (quic_version==GQUIC_VERSION_Q044) ||
(quic_version==GQUIC_VERSION_Q045) ||
(quic_version==GQUIC_VERSION_Q099) ||
(quic_version==PICOQUIC_VERSION_30) ||
(quic_version==PQUIC_VERSION_PROX) ||
(quic_version>=GQUIC_VERSION_Q048 && quic_version<=GQUIC_VERSION_Q050) ||
(quic_version>=QUANT_VERSION_00 && quic_version<=QUANT_VERSION_FF) ||
(quic_version>=QUIC_GO_VERSION_00 && quic_version<=QUIC_GO_VERSION_FF) ||
(quic_version>=QUICLY_VERSION_00 && quic_version<=QUICLY_VERSION_FF) ||
(quic_version>=MSQUIC_VERSION_00 && quic_version<=MSQUIC_VERSION_0F) ||
(quic_version>=MOZQUIC_VERSION_00 && quic_version<=MOZQUIC_VERSION_0F) ||
(quic_version>=MVFST_VERSION_00 && quic_version<=MVFST_VERSION_0F) ||
(quic_version>=IQUIC_VERSION_I001 && quic_version<=IQUIC_VERSION_I032)
)
{
MESA_handle_runtime_log(g_quic_param.logger, RLOG_LV_DEBUG, "IQUIC", "version: I%03u addr: %s",
(((quic_version>>16)&0x000000FF)*10) + (((quic_version>>8)&0x000000FF)*10) + ((quic_version)&0x000000FF),
printaddr(&pstream->addr, pstream->threadnum));
MESA_handle_runtime_log(g_quic_param.logger, RLOG_LV_DEBUG, "QUIC", "version: 0x%x addr: %s",
quic_version, printaddr(&pstream->addr, pstream->threadnum));
_context->is_quic=TRUE;
_context->quic_info.quic_hdr.quic_version=quic_version;
return quic_version;
}
}
break;
}