mirror of
https://github.com/vel21ripn/nDPI.git
synced 2026-05-06 03:45:32 +00:00
Add protocol category ids
This commit is contained in:
parent
94c134318b
commit
7d0397a8fb
5 changed files with 481 additions and 371 deletions
|
|
@ -431,6 +431,23 @@ ndpi_protocol ndpi_l4_detection_process_packet(struct ndpi_detection_module_stru
|
|||
*/
|
||||
char* ndpi_protocol2name(struct ndpi_detection_module_struct *ndpi_mod, ndpi_protocol proto, char *buf, u_int buf_len);
|
||||
|
||||
/**
|
||||
* Get protocol category as string
|
||||
*
|
||||
* @par category = the category associated to the protocol
|
||||
* @return the string name of the category
|
||||
*
|
||||
*/
|
||||
const char* ndpi_category_str(ndpi_protocol_category_t category);
|
||||
|
||||
/**
|
||||
* Get protocol category
|
||||
*
|
||||
* @par ndpi_mod = the detection module
|
||||
* @par proto = the struct ndpi_protocol contain the protocols name
|
||||
* @return the protocol category
|
||||
*/
|
||||
ndpi_protocol_category_t ndpi_get_proto_category(struct ndpi_detection_module_struct *ndpi_mod, ndpi_protocol proto);
|
||||
|
||||
/**
|
||||
* Get the protocol name associated to the ID
|
||||
|
|
|
|||
|
|
@ -80,6 +80,7 @@ extern "C" {
|
|||
u_int16_t lower_detected_protocol);
|
||||
extern void ndpi_set_proto_defaults(struct ndpi_detection_module_struct *ndpi_mod, ndpi_protocol_breed_t protoBreed, u_int16_t protoId,
|
||||
u_int16_t tcp_alias_protoId[2], u_int16_t udp_alias_protoId[2], char *protoName,
|
||||
ndpi_protocol_category_t protoCategory,
|
||||
ndpi_port_range *tcpDefPorts, ndpi_port_range *udpDefPorts);
|
||||
|
||||
extern void ndpi_int_reset_packet_protocol(struct ndpi_packet_struct *packet);
|
||||
|
|
|
|||
|
|
@ -726,9 +726,34 @@ typedef enum {
|
|||
|
||||
#define NUM_BREEDS (NDPI_PROTOCOL_UNRATED+1)
|
||||
|
||||
/* Abstract categories to group the protocols. */
|
||||
typedef enum {
|
||||
NDPI_PROTOCOL_CATEGORY_UNSPECIFIED = 0, /* For general services and unknown protocols */
|
||||
NDPI_PROTOCOL_CATEGORY_MEDIA, /* Multimedia and streaming */
|
||||
NDPI_PROTOCOL_CATEGORY_VPN, /* Virtual Private Networks */
|
||||
NDPI_PROTOCOL_CATEGORY_MAIL_SEND, /* Protocols to send emails */
|
||||
NDPI_PROTOCOL_CATEGORY_MAIL_SYNC, /* Protocols to receive or sync emails */
|
||||
NDPI_PROTOCOL_CATEGORY_FILE_TRANSFER, /* FTP and similar protocols */
|
||||
NDPI_PROTOCOL_CATEGORY_WEB, /* Web protocols and services */
|
||||
NDPI_PROTOCOL_CATEGORY_SOCIAL_NETWORK, /* Social networks */
|
||||
NDPI_PROTOCOL_CATEGORY_P2P, /* File sharing and P2P */
|
||||
NDPI_PROTOCOL_CATEGORY_GAME, /* Online games */
|
||||
NDPI_PROTOCOL_CATEGORY_CHAT, /* Instant messaging */
|
||||
NDPI_PROTOCOL_CATEGORY_VOIP, /* Real-time communications and conferencing */
|
||||
NDPI_PROTOCOL_CATEGORY_DATABASE, /* Protocols for database communication */
|
||||
NDPI_PROTOCOL_CATEGORY_REMOTE_ACCESS, /* Remote access and control */
|
||||
NDPI_PROTOCOL_CATEGORY_CLOUD, /* Online cloud services */
|
||||
NDPI_PROTOCOL_CATEGORY_NETWORK, /* Network infrastructure protocols */
|
||||
NDPI_PROTOCOL_CATEGORY_COLLABORATIVE, /* Software for collaborative development */
|
||||
NDPI_PROTOCOL_CATEGORY_RPC, /* High level network communication protocols */
|
||||
NDPI_PROTOCOL_CATEGORY_NETWORK_TOOL, /* Network administration and monitor protocols */
|
||||
NDPI_PROTOCOL_CATEGORY_SYSTEM /* System level applications */
|
||||
} ndpi_protocol_category_t;
|
||||
|
||||
/* ntop extensions */
|
||||
typedef struct ndpi_proto_defaults {
|
||||
char *protoName;
|
||||
ndpi_protocol_category_t protoCategory;
|
||||
u_int16_t protoId, protoIdx;
|
||||
u_int16_t master_tcp_protoId[2], master_udp_protoId[2]; /* The main protocols on which this sub-protocol sits on */
|
||||
ndpi_protocol_breed_t protoBreed;
|
||||
|
|
@ -1021,6 +1046,7 @@ struct ndpi_flow_struct {
|
|||
typedef struct {
|
||||
char *string_to_match, *proto_name;
|
||||
int protocol_id;
|
||||
ndpi_protocol_category_t proto_category;
|
||||
ndpi_protocol_breed_t protocol_breed;
|
||||
} ndpi_protocol_match;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue