{'fraction_non_alphanumeric': 0.01037344398340249, 'fraction_numerical': 0.0, 'mean_word_length': 5.748251748251748, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Towards automatic identification of network applications

Traditional application identification based on port numbers has become increasingly inaccurate. A more accurate alternative is to inspect the application payloads of traffic flows. The main drawback of such method is that target applications must be manually analyzed beforehand. Another alternative is to exploit the distinctive statistical properties of traffic flows and apply machine learning techniques to classify or cluster flows. In this paper, we propose a fully automatic mechanism for application identification. The mechanism combine flow clustering based on statistical features in order to generate clusters dominated by a single application on the one hand, and automatic construction of application signature based on payload contents solely on the other hand. Preliminary results of evaluation using real-world traffic traces indicate that the proposed approach is feasible and promising.