This document discusses classifying internet traffic using machine learning techniques. It proposes using both unsupervised and supervised learning on flow-level features extracted from packets. Unsupervised K-means clustering is used to initially group traffic into clusters without labels. Supervised learning then trains a classifier on these clusters along with additional flow features to classify new traffic into known applications. The experiments used real traffic datasets involving various protocols to evaluate the proposed approach by analyzing metrics like sum of squared error from the clustering.