The CoralReef Software Suite provides default application groups for use by those who seek to classify various types of monitored traffic in broader classes than individual applications. CoralReef version 3.6 is the first to use these groups in the Application_ports_Master.txt file for use with the AppPorts.pm Perl module.
This file describes a hierarchical application classification scheme developed at CAIDA. Only the top level of classification is currently available in the Application_ports_Master.txt file. The ability to access the complete classification hierarchy through the AppPorts.pm Perl module is planned for a future release of CoralReef.
To create our application list, we began with the IANA assigned port numbers and then sought to identify applications generating unexpected volumes of traffic on a particular port. It is by no means a definitive list detailing all applications used on all ports on the Internet. The prevalence of applications that run on any port introduces error into any port-based identification system, so the matches suggested should be validated using other traffic dynamics or packet payloads of accuracy of the application:port mappings is important.
For tracking overall trends in Internet usage (for research, future planning, network provisioning, new service development, etc.) it can be useful to look beyond the individual applications (which can quickly be adopted by large groups of users and then abandoned as soon as something better comes along) and instead focus on the general activity a given application represents. This document describes the categories we have developed and lists the applications currently identified via our Application_ports_Master.txt file.
We welcome additions to our list of applications. Please email Application_ports_Master.txt record contributions to email@example.com.
Application classification categories:
applications that can be used for text, voice, and/or video interaction.
applications that transmit encrypted traffic across a network.
applications that implement network file systems.
applications that facilitate the transfer of files from one computer to another.
applications that are used to serve or play networked games.
applications that can be used to remotely access a computer (without encryption).
applications that can be used to transmit or ar access email and newsgroups.
applications that can query, support, or otherwise access network hardware or otherwise facilitate the transfer of traffic from one computer to another (including domain name resolution, time synchronization, routing, and network measurement).
applications that are used for Peer-to-Peer file sharing.
applications that are used for delivering live content (audio, video, etc.) streams.
applications that tunnel traffic from one place to another. Many Virtual Private Networks (VPNs) fall into this category. In some cases it may be possible to further dissect the tunneled packet to uncover the original application, but with many tunneling applications, transmitted data is encrypted or otherwise obscured.
applications that fetch, transmit, deliver, render, or cache World Wide Web pages.
applications that are not described by any other application category. As subgroups grow to contain a larger numbers of applications with increased traffic prevalence, they may be promoted to become new top-level categories.