# A Real-Time Network Traffic Classifier for Online Applications Using Machine Learning
## 6 Conclusions and Future Work  
This paper presented the design and implementation of NetScrapper, an AI-enabled network classifier for real-time flow streams. The developed prototype showed that NetScrapper could be deployed on networking devices at the edge with high prediction accuracy and low response time. It is expected that NetScrapper would make a better opportunity for network administrators to monitor their network performance and detect any suspicious traffic that could harm the network components and legitimate users. Unlike most of the existing ML-based classifiers, NetScrapper can automatically extract the feature attributes of the online traffic flow without human intervention, which undoubtedly makes it a highly desirable traffic classification approach, especially for mobile services encrypted traffic. The system implementation compared three ML models, namely ANN, RF, and KNN, in terms of classification accuracy and performance. To increase the system usability, we developed a user-friendly interface on top of these models to allow users to interact with the system conveniently. We carried out several sets of experiments for evaluating the performance and classification accuracy of our system, paying particular attention to the prediction time. Our ANN model could most notably inspect four applications' flow streams per second, which proves that NetScrapper is suitable for real-time inference at the edge with offline generated ML models. We expect that this research would increase the open-source knowledge base in the area of traffic analysis and machine learning on the network edge by publishing the source code and dataset to the public domain. Both the source code and dataset are available online: [[https://github.com/ahmed-pvamu/NetScrapper](https://github.com/ahmed-pvamu/NetScrapper)]([https://github.com/ahmed-pvamu/NetScrapper](https://github.com/ahmed-pvamu/NetScrapper)) (accessed on 9 July 2021). \begin{table}
\begin{tabular}{c c c c c c} \hline  & \multicolumn{3}{c}{**Classification Accuracy**} & \multicolumn{3}{c}{**Prediction Time**} \\ \hline
**Class** & **KNN** & **RF** & **ANN** & **KNN** & **RF** & **ANN** \\ \hline SSH & 98.29 & 100 & 100 & 238 & 0.58 & 0.27 \\ \hline SSL & 99.36 & 98.87 & 100 & 236 & 0.71 & 0.27 \\ \hline SSL\_NO\_CERT & 99.70 & 99.61 & 100 & 203 & 0.7 & 0.29 \\ \hline TEAMVIEWER & 98.45 & 99.94 & 100 & 269 & 0.59 & 0.27 \\ \hline TELEGRAM & 93.06 & 90.91 & 98.82 & 134 & 0.01 & 0.04 \\ \hline TIMMEU & 79.35 & 73.53 & 98.81 & 104 & 0.01 & 0.05 \\ \hline TOR & 99.18 & 99.85 & 100 & 193 & 0.76 & 0.27 \\ \hline TWITCH & 43.60 & 70.83 & 99.07 & 155 & 0.01 & 0.04 \\ \hline TWITTER & 89.95 & 96.90 & 99.67 & 161 & 0.79 & 0.27 \\ \hline UBUNTUONE & 99.63 & 99.97 & 100 & 234 & 0.65 & 0.33 \\ \hline JABBER & 58.43 & 95.56 & 99.91 & 187 & 0.01 & 0.06 \\ \hline UPNP & 63.77 & 88.24 & 99.99 & 159 & 0.01 & 0.05 \\ \hline WAFE & 81.00 & 92.41 & 99.91 & 146 & 0.02 & 0.04 \\ \hline WHATSAPP & 97.48 & 98.24 & 100 & 158 & 0.78 & 0.28 \\ \hline WIKIPEDIA & 87.11 & 98.85 & 100 & 170 & 0.82 & 0.28 \\ \hline WIN\_UPDATE & 98.85 & 99.19 & 100 & 250 & 0.66 & 0.28 \\ \hline YAHOO & 99.67 & 97.54 & 100 & 174 & 0.76 & 0.27 \\ \hline YOUTUBE & 96.82 & 99.43 & 99.81 & 129 & 0.77 & 0.27 \\ \hline
**Mean** & **88.86** & **96.33** & **99.86** & **187.66** & **0.56** & **0.25** \\ \hline \end{tabular}
\end{table} 
Table 4: _Cont._In on-going work, we are looking into opportunities for generalizing our approach to be deployed locally at all types of network devices at the edge, where administrators can use to monitor their network from any point in the network topology. This would give them a richer picture of their network performance and reduce the time associated with detecting security threats and intrusions. We also plan to train a multi-level classification algorithm to enable NetScrapper to identify traffic flows from unknown application sources. If an unknown packet is detected, the system will automatically add it to our training database of unknown classes.