1 /* 2 * ndpi_protocol_ids.h 3 * 4 * Copyright (C) 2011-21 - ntop.org 5 * 6 * This file is part of nDPI, an open source deep packet inspection 7 * library based on the OpenDPI and PACE technology by ipoque GmbH 8 * 9 * nDPI is free software: you can redistribute it and/or modify 10 * it under the terms of the GNU Lesser General Public License as published by 11 * the Free Software Foundation, either version 3 of the License, or 12 * (at your option) any later version. 13 * 14 * nDPI is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 * GNU Lesser General Public License for more details. 18 * 19 * You should have received a copy of the GNU Lesser General Public License 20 * along with nDPI. If not, see <http://www.gnu.org/licenses/>. 21 * 22 */ 23 24 25 #ifndef __NDPI_PROTOCOLS_IDS_H__ 26 #define __NDPI_PROTOCOLS_IDS_H__ 27 28 #define NDPI_PROTOCOL_SIZE 2 29 30 typedef enum { 31 NDPI_PROTOCOL_UNKNOWN = 0, 32 NDPI_PROTOCOL_FTP_CONTROL = 1, /* Tomasz Bujlow <tomasz@skatnet.dk> */ 33 NDPI_PROTOCOL_MAIL_POP = 2, 34 NDPI_PROTOCOL_MAIL_SMTP = 3, 35 NDPI_PROTOCOL_MAIL_IMAP = 4, 36 NDPI_PROTOCOL_DNS = 5, 37 NDPI_PROTOCOL_IPP = 6, 38 NDPI_PROTOCOL_HTTP = 7, 39 NDPI_PROTOCOL_MDNS = 8, 40 NDPI_PROTOCOL_NTP = 9, 41 NDPI_PROTOCOL_NETBIOS = 10, 42 NDPI_PROTOCOL_NFS = 11, 43 NDPI_PROTOCOL_SSDP = 12, 44 NDPI_PROTOCOL_BGP = 13, 45 NDPI_PROTOCOL_SNMP = 14, 46 NDPI_PROTOCOL_XDMCP = 15, 47 NDPI_PROTOCOL_SMBV1 = 16, /* SMB version 1 */ 48 NDPI_PROTOCOL_SYSLOG = 17, 49 NDPI_PROTOCOL_DHCP = 18, 50 NDPI_PROTOCOL_POSTGRES = 19, 51 NDPI_PROTOCOL_MYSQL = 20, 52 NDPI_PROTOCOL_HOTMAIL = 21, 53 NDPI_PROTOCOL_DIRECT_DOWNLOAD_LINK = 22, 54 NDPI_PROTOCOL_MAIL_POPS = 23, 55 NDPI_PROTOCOL_APPLEJUICE = 24, 56 NDPI_PROTOCOL_DIRECTCONNECT = 25, 57 NDPI_PROTOCOL_NTOP = 26, 58 NDPI_PROTOCOL_COAP = 27, 59 NDPI_PROTOCOL_VMWARE = 28, 60 NDPI_PROTOCOL_MAIL_SMTPS = 29, 61 NDPI_PROTOCOL_DTLS = 30, 62 NDPI_PROTOCOL_UBNTAC2 = 31, /* Ubiquity UBNT AirControl = 2 - Thomas Fjellstrom <thomas+ndpi@fjellstrom.ca> */ 63 NDPI_PROTOCOL_KONTIKI = 32, 64 NDPI_PROTOCOL_OPENFT = 33, 65 NDPI_PROTOCOL_FASTTRACK = 34, 66 NDPI_PROTOCOL_GNUTELLA = 35, 67 NDPI_PROTOCOL_EDONKEY = 36, /* Tomasz Bujlow <tomasz@skatnet.dk> */ 68 NDPI_PROTOCOL_BITTORRENT = 37, 69 NDPI_PROTOCOL_SKYPE_CALL = 38, /* Skype call and videocalls */ 70 NDPI_PROTOCOL_SIGNAL = 39, 71 NDPI_PROTOCOL_MEMCACHED = 40, /* Memcached - Darryl Sokoloski <darryl@egloo.ca> */ 72 NDPI_PROTOCOL_SMBV23 = 41, /* SMB version 2/3 */ 73 NDPI_PROTOCOL_MINING = 42, /* Bitcoin, Ethereum, ZCash, Monero */ 74 NDPI_PROTOCOL_NEST_LOG_SINK = 43, /* Nest Log Sink (Nest Protect) - Darryl Sokoloski <darryl@egloo.ca> */ 75 NDPI_PROTOCOL_MODBUS = 44, /* Modbus */ 76 NDPI_PROTOCOL_WHATSAPP_CALL = 45, /* WhatsApp video ad audio calls go here */ 77 NDPI_PROTOCOL_DATASAVER = 46, /* Protocols used to save data on Internet communications */ 78 NDPI_PROTOCOL_XBOX = 47, 79 NDPI_PROTOCOL_QQ = 48, 80 NDPI_PROTOCOL_TIKTOK = 49, 81 NDPI_PROTOCOL_RTSP = 50, 82 NDPI_PROTOCOL_MAIL_IMAPS = 51, 83 NDPI_PROTOCOL_ICECAST = 52, 84 NDPI_PROTOCOL_CPHA = 53, 85 NDPI_PROTOCOL_PPSTREAM = 54, 86 NDPI_PROTOCOL_ZATTOO = 55, 87 NDPI_PROTOCOL_SHOUTCAST = 56, 88 NDPI_PROTOCOL_SOPCAST = 57, 89 NDPI_PROTOCOL_DISCORD = 58, 90 NDPI_PROTOCOL_TVUPLAYER = 59, 91 NDPI_PROTOCOL_MONGODB = 60, /* Leonn Paiva <leonn.paiva@gmail.com> */ 92 NDPI_PROTOCOL_QQLIVE = 61, 93 NDPI_PROTOCOL_THUNDER = 62, 94 NDPI_PROTOCOL_SOULSEEK = 63, 95 NDPI_PROTOCOL_PS_VUE = 64, 96 NDPI_PROTOCOL_IRC = 65, 97 NDPI_PROTOCOL_AYIYA = 66, 98 NDPI_PROTOCOL_JABBER = 67, 99 NDPI_PROTOCOL_NATS = 68, 100 NDPI_PROTOCOL_AMONG_US = 69, /* Toni Uhlig <matzeton@googlemail.com> */ 101 NDPI_PROTOCOL_YAHOO = 70, 102 NDPI_PROTOCOL_DISNEYPLUS = 71, /* Zied Aouini <aouinizied@gmail.com> */ 103 NDPI_PROTOCOL_GOOGLE_PLUS = 72, 104 NDPI_PROTOCOL_IP_VRRP = 73, 105 NDPI_PROTOCOL_STEAM = 74, /* Tomasz Bujlow <tomasz@skatnet.dk> */ 106 NDPI_PROTOCOL_HALFLIFE2 = 75, 107 NDPI_PROTOCOL_WORLDOFWARCRAFT = 76, 108 NDPI_PROTOCOL_TELNET = 77, 109 NDPI_PROTOCOL_STUN = 78, 110 NDPI_PROTOCOL_IP_IPSEC = 79, 111 NDPI_PROTOCOL_IP_GRE = 80, 112 NDPI_PROTOCOL_IP_ICMP = 81, 113 NDPI_PROTOCOL_IP_IGMP = 82, 114 NDPI_PROTOCOL_IP_EGP = 83, 115 NDPI_PROTOCOL_IP_SCTP = 84, 116 NDPI_PROTOCOL_IP_OSPF = 85, 117 NDPI_PROTOCOL_IP_IP_IN_IP = 86, 118 NDPI_PROTOCOL_RTP = 87, 119 NDPI_PROTOCOL_RDP = 88, 120 NDPI_PROTOCOL_VNC = 89, 121 NDPI_PROTOCOL_TUMBLR = 90, /* Zied Aouini <aouinizied@gmail.com> */ 122 NDPI_PROTOCOL_TLS = 91, 123 NDPI_PROTOCOL_SSH = 92, 124 NDPI_PROTOCOL_USENET = 93, 125 NDPI_PROTOCOL_MGCP = 94, 126 NDPI_PROTOCOL_IAX = 95, 127 NDPI_PROTOCOL_TFTP = 96, 128 NDPI_PROTOCOL_AFP = 97, 129 NDPI_PROTOCOL_STEALTHNET = 98, 130 NDPI_PROTOCOL_AIMINI = 99, 131 NDPI_PROTOCOL_SIP = 100, 132 NDPI_PROTOCOL_TRUPHONE = 101, 133 NDPI_PROTOCOL_IP_ICMPV6 = 102, 134 NDPI_PROTOCOL_DHCPV6 = 103, 135 NDPI_PROTOCOL_ARMAGETRON = 104, 136 NDPI_PROTOCOL_CROSSFIRE = 105, 137 NDPI_PROTOCOL_DOFUS = 106, 138 NDPI_PROTOCOL_FIESTA = 107, 139 NDPI_PROTOCOL_FLORENSIA = 108, 140 NDPI_PROTOCOL_GUILDWARS = 109, 141 NDPI_PROTOCOL_AMAZON_ALEXA = 110, /* Zied Aouini <aouinizied@gmail.com> */ 142 NDPI_PROTOCOL_KERBEROS = 111, 143 NDPI_PROTOCOL_LDAP = 112, 144 NDPI_PROTOCOL_MAPLESTORY = 113, 145 NDPI_PROTOCOL_MSSQL_TDS = 114, 146 NDPI_PROTOCOL_PPTP = 115, 147 NDPI_PROTOCOL_WARCRAFT3 = 116, 148 NDPI_PROTOCOL_WORLD_OF_KUNG_FU = 117, 149 NDPI_PROTOCOL_SLACK = 118, 150 NDPI_PROTOCOL_FACEBOOK = 119, 151 NDPI_PROTOCOL_TWITTER = 120, 152 NDPI_PROTOCOL_DROPBOX = 121, 153 NDPI_PROTOCOL_GMAIL = 122, 154 NDPI_PROTOCOL_GOOGLE_MAPS = 123, 155 NDPI_PROTOCOL_YOUTUBE = 124, 156 NDPI_PROTOCOL_SKYPE_TEAMS = 125, 157 NDPI_PROTOCOL_GOOGLE = 126, 158 NDPI_PROTOCOL_DCERPC = 127, 159 NDPI_PROTOCOL_NETFLOW = 128, 160 NDPI_PROTOCOL_SFLOW = 129, 161 NDPI_PROTOCOL_HTTP_CONNECT = 130, 162 NDPI_PROTOCOL_HTTP_PROXY = 131, 163 NDPI_PROTOCOL_CITRIX = 132, /* It also includes the old NDPI_PROTOCOL_CITRIX_ONLINE */ 164 NDPI_PROTOCOL_NETFLIX = 133, 165 NDPI_PROTOCOL_LASTFM = 134, 166 NDPI_PROTOCOL_WAZE = 135, 167 NDPI_PROTOCOL_YOUTUBE_UPLOAD = 136, /* Upload files to youtube */ 168 NDPI_PROTOCOL_HULU = 137, 169 NDPI_PROTOCOL_CHECKMK = 138, 170 NDPI_PROTOCOL_AJP = 139, /* Leonn Paiva <leonn.paiva@gmail.com> */ 171 NDPI_PROTOCOL_APPLE = 140, 172 NDPI_PROTOCOL_WEBEX = 141, 173 NDPI_PROTOCOL_WHATSAPP = 142, 174 NDPI_PROTOCOL_APPLE_ICLOUD = 143, 175 NDPI_PROTOCOL_VIBER = 144, 176 NDPI_PROTOCOL_APPLE_ITUNES = 145, 177 NDPI_PROTOCOL_RADIUS = 146, 178 NDPI_PROTOCOL_WINDOWS_UPDATE = 147, 179 NDPI_PROTOCOL_TEAMVIEWER = 148, /* xplico.org */ 180 NDPI_PROTOCOL_TUENTI = 149, 181 NDPI_PROTOCOL_LOTUS_NOTES = 150, 182 NDPI_PROTOCOL_SAP = 151, 183 NDPI_PROTOCOL_GTP = 152, 184 NDPI_PROTOCOL_WSD = 153, 185 NDPI_PROTOCOL_LLMNR = 154, 186 NDPI_PROTOCOL_REMOTE_SCAN = 155, 187 NDPI_PROTOCOL_SPOTIFY = 156, 188 NDPI_PROTOCOL_MESSENGER = 157, 189 NDPI_PROTOCOL_H323 = 158, /* Remy Mudingay <mudingay@ill.fr> */ 190 NDPI_PROTOCOL_OPENVPN = 159, /* Remy Mudingay <mudingay@ill.fr> */ 191 NDPI_PROTOCOL_NOE = 160, /* Remy Mudingay <mudingay@ill.fr> */ 192 NDPI_PROTOCOL_CISCOVPN = 161, /* Remy Mudingay <mudingay@ill.fr> */ 193 NDPI_PROTOCOL_TEAMSPEAK = 162, /* Remy Mudingay <mudingay@ill.fr> */ 194 NDPI_PROTOCOL_TOR = 163, /* Remy Mudingay <mudingay@ill.fr> */ 195 NDPI_PROTOCOL_SKINNY = 164, /* Remy Mudingay <mudingay@ill.fr> */ 196 NDPI_PROTOCOL_RTCP = 165, /* Remy Mudingay <mudingay@ill.fr> */ 197 NDPI_PROTOCOL_RSYNC = 166, /* Remy Mudingay <mudingay@ill.fr> */ 198 NDPI_PROTOCOL_ORACLE = 167, /* Remy Mudingay <mudingay@ill.fr> */ 199 NDPI_PROTOCOL_CORBA = 168, /* Remy Mudingay <mudingay@ill.fr> */ 200 NDPI_PROTOCOL_UBUNTUONE = 169, /* Remy Mudingay <mudingay@ill.fr> */ 201 NDPI_PROTOCOL_WHOIS_DAS = 170, 202 NDPI_PROTOCOL_COLLECTD = 171, 203 NDPI_PROTOCOL_SOCKS = 172, /* Tomasz Bujlow <tomasz@skatnet.dk> */ 204 NDPI_PROTOCOL_NINTENDO = 173, 205 NDPI_PROTOCOL_RTMP = 174, /* Tomasz Bujlow <tomasz@skatnet.dk> */ 206 NDPI_PROTOCOL_FTP_DATA = 175, /* Tomasz Bujlow <tomasz@skatnet.dk> */ 207 NDPI_PROTOCOL_WIKIPEDIA = 176, /* Tomasz Bujlow <tomasz@skatnet.dk> */ 208 NDPI_PROTOCOL_ZMQ = 177, 209 NDPI_PROTOCOL_AMAZON = 178, /* Tomasz Bujlow <tomasz@skatnet.dk> */ 210 NDPI_PROTOCOL_EBAY = 179, /* Tomasz Bujlow <tomasz@skatnet.dk> */ 211 NDPI_PROTOCOL_CNN = 180, /* Tomasz Bujlow <tomasz@skatnet.dk> */ 212 NDPI_PROTOCOL_MEGACO = 181, /* Gianluca Costa <g.costa@xplico.org> */ 213 NDPI_PROTOCOL_REDIS = 182, 214 NDPI_PROTOCOL_PINTEREST = 183, /* Zied Aouini <aouinizied@gmail.com> */ 215 NDPI_PROTOCOL_VHUA = 184, 216 NDPI_PROTOCOL_TELEGRAM = 185, /* Gianluca Costa <g.costa@xplico.org> */ 217 NDPI_PROTOCOL_VEVO = 186, 218 NDPI_PROTOCOL_PANDORA = 187, 219 NDPI_PROTOCOL_QUIC = 188, /* Andrea Buscarinu <andrea.buscarinu@gmail.com> - Michele Campus <michelecampus5@gmail.com> */ 220 NDPI_PROTOCOL_ZOOM = 189, /* Zoom video conference. */ 221 NDPI_PROTOCOL_EAQ = 190, 222 NDPI_PROTOCOL_OOKLA = 191, 223 NDPI_PROTOCOL_AMQP = 192, 224 NDPI_PROTOCOL_KAKAOTALK = 193, /* KakaoTalk Chat (no voice call) */ 225 NDPI_PROTOCOL_KAKAOTALK_VOICE = 194, /* KakaoTalk Voice */ 226 NDPI_PROTOCOL_TWITCH = 195, /* Edoardo Dominici <edoaramis@gmail.com> */ 227 NDPI_PROTOCOL_DOH_DOT = 196, /* DoH (DNS over HTTPS), DoT (DNS over TLS), DoQ (DNS over QUIC). TODO: rename in NDPI_PROTOCOL_DOH_DOT_DOQ? */ 228 NDPI_PROTOCOL_WECHAT = 197, 229 NDPI_PROTOCOL_MPEGTS = 198, 230 NDPI_PROTOCOL_SNAPCHAT = 199, 231 NDPI_PROTOCOL_SINA = 200, 232 NDPI_PROTOCOL_HANGOUT_DUO = 201, /* Google Hangout ad Duo (merged as they are very similar) */ 233 NDPI_PROTOCOL_IFLIX = 202, /* www.vizuamatix.com R&D team & M.Mallawaarachchie <manoj_ws@yahoo.com> */ 234 NDPI_PROTOCOL_GITHUB = 203, 235 NDPI_PROTOCOL_BJNP = 204, 236 NDPI_PROTOCOL_REDDIT = 205, /* Zied Aouini <aouinizied@gmail.com> */ 237 NDPI_PROTOCOL_WIREGUARD = 206, 238 NDPI_PROTOCOL_SMPP = 207, /* Damir Franusic <df@release14.org> */ 239 NDPI_PROTOCOL_DNSCRYPT = 208, /* Toni Uhlig <matzeton@googlemail.com> */ 240 NDPI_PROTOCOL_TINC = 209, /* William Guglielmo <william@deselmo.com> */ 241 NDPI_PROTOCOL_DEEZER = 210, 242 NDPI_PROTOCOL_INSTAGRAM = 211, /* Andrea Buscarinu <andrea.buscarinu@gmail.com> */ 243 NDPI_PROTOCOL_MICROSOFT = 212, 244 NDPI_PROTOCOL_STARCRAFT = 213, /* Matteo Bracci <matteobracci1@gmail.com> */ 245 NDPI_PROTOCOL_TEREDO = 214, 246 NDPI_PROTOCOL_HOTSPOT_SHIELD = 215, 247 NDPI_PROTOCOL_IMO = 216, 248 NDPI_PROTOCOL_GOOGLE_DRIVE = 217, 249 NDPI_PROTOCOL_OCS = 218, 250 NDPI_PROTOCOL_MICROSOFT_365 = 219, 251 NDPI_PROTOCOL_CLOUDFLARE = 220, 252 NDPI_PROTOCOL_MS_ONE_DRIVE = 221, 253 NDPI_PROTOCOL_MQTT = 222, 254 NDPI_PROTOCOL_RX = 223, 255 NDPI_PROTOCOL_APPLESTORE = 224, 256 NDPI_PROTOCOL_OPENDNS = 225, 257 NDPI_PROTOCOL_GIT = 226, 258 NDPI_PROTOCOL_DRDA = 227, 259 NDPI_PROTOCOL_PLAYSTORE = 228, 260 NDPI_PROTOCOL_SOMEIP = 229, 261 NDPI_PROTOCOL_FIX = 230, 262 NDPI_PROTOCOL_PLAYSTATION = 231, 263 NDPI_PROTOCOL_PASTEBIN = 232, /* Paulo Angelo <pa@pauloangelo.com> */ 264 NDPI_PROTOCOL_LINKEDIN = 233, /* Paulo Angelo <pa@pauloangelo.com> */ 265 NDPI_PROTOCOL_SOUNDCLOUD = 234, 266 NDPI_PROTOCOL_CSGO = 235, /* Counter-Strike Global Offensive, Dota = 2 */ 267 NDPI_PROTOCOL_LISP = 236, 268 NDPI_PROTOCOL_DIAMETER = 237, 269 NDPI_PROTOCOL_APPLE_PUSH = 238, 270 NDPI_PROTOCOL_GOOGLE_SERVICES = 239, 271 NDPI_PROTOCOL_AMAZON_VIDEO = 240, 272 NDPI_PROTOCOL_GOOGLE_DOCS = 241, 273 NDPI_PROTOCOL_WHATSAPP_FILES = 242, /* Videos, pictures, voice messages... */ 274 NDPI_PROTOCOL_TARGUS_GETDATA = 243, 275 NDPI_PROTOCOL_DNP3 = 244, 276 NDPI_PROTOCOL_IEC60870 = 245, /* https://en.wikipedia.org/wiki/IEC_60870-5 */ 277 NDPI_PROTOCOL_BLOOMBERG = 246, 278 NDPI_PROTOCOL_CAPWAP = 247, 279 NDPI_PROTOCOL_ZABBIX = 248, 280 NDPI_PROTOCOL_S7COMM = 249, 281 NDPI_PROTOCOL_MSTEAMS = 250, 282 NDPI_PROTOCOL_WEBSOCKET = 251, /* Leonn Paiva <leonn.paiva@gmail.com> */ 283 NDPI_PROTOCOL_ANYDESK = 252, /* Toni Uhlig <matzeton@googlemail.com> */ 284 NDPI_PROTOCOL_SOAP = 253, /* Toni Uhlig <matzeton@googlemail.com> */ 285 NDPI_PROTOCOL_APPLE_SIRI = 254, /* Zied Aouini <aouinizied@gmail.com> */ 286 NDPI_PROTOCOL_SNAPCHAT_CALL = 255, 287 NDPI_PROTOCOL_HPVIRTGRP = 256, /* Toni Uhlig <matzeton@googlemail.com> */ 288 NDPI_PROTOCOL_GENSHIN_IMPACT = 257, /* Toni Uhlig <matzeton@googlemail.com> */ 289 NDPI_PROTOCOL_ACTIVISION = 258, 290 NDPI_PROTOCOL_FORTICLIENT = 259, 291 NDPI_PROTOCOL_Z3950 = 260, /* Toni Uhlig <matzeton@googlemail.com> */ 292 NDPI_PROTOCOL_LIKEE = 261, 293 NDPI_PROTOCOL_GITLAB = 262, 294 NDPI_PROTOCOL_AVAST_SECUREDNS = 263, /* Toni Uhlig <matzeton@googlemail.com> */ 295 296 #ifdef CUSTOM_NDPI_PROTOCOLS 297 #include "../../../nDPI-custom/custom_ndpi_protocol_ids.h" 298 #endif 299 300 /* 301 IMPORTANT 302 before allocating a new identifier please fill up 303 one of those named NDPI_PROTOCOL_FREE_XXX and not used 304 (placeholders to avoid protocol renumbering) 305 */ 306 307 /* IMPORTANT:NDPI_LAST_IMPLEMENTED_PROTOCOL MUST BE THE LAST ELEMENT */ 308 NDPI_LAST_IMPLEMENTED_PROTOCOL 309 } ndpi_protocol_id_t; 310 311 #define NDPI_PROTOCOL_NO_MASTER_PROTO NDPI_PROTOCOL_UNKNOWN 312 #define NDPI_MAX_SUPPORTED_PROTOCOLS NDPI_LAST_IMPLEMENTED_PROTOCOL 313 #define NDPI_MAX_NUM_CUSTOM_PROTOCOLS (NDPI_NUM_BITS-NDPI_LAST_IMPLEMENTED_PROTOCOL) 314 315 #endif /* __NDPI_PROTOCOL_IDS_H__ */ 316