{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,31]],"date-time":"2026-03-31T10:24:17Z","timestamp":1774952657373,"version":"3.50.1"},"reference-count":40,"publisher":"MDPI AG","issue":"8","license":[{"start":{"date-parts":[[2021,8,21]],"date-time":"2021-08-21T00:00:00Z","timestamp":1629504000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Algorithms"],"abstract":"<jats:p>The increasing ubiquity of network traffic and the new online applications\u2019 deployment has increased traffic analysis complexity. Traditionally, network administrators rely on recognizing well-known static ports for classifying the traffic flowing their networks. However, modern network traffic uses dynamic ports and is transported over secure application-layer protocols (e.g., HTTPS, SSL, and SSH). This makes it a challenging task for network administrators to identify online applications using traditional port-based approaches. One way for classifying the modern network traffic is to use machine learning (ML) to distinguish between the different traffic attributes such as packet count and size, packet inter-arrival time, packet send\u2013receive ratio, etc. This paper presents the design and implementation of NetScrapper, a flow-based network traffic classifier for online applications. NetScrapper uses three ML models, namely K-Nearest Neighbors (KNN), Random Forest (RF), and Artificial Neural Network (ANN), for classifying the most popular 53 online applications, including Amazon, Youtube, Google, Twitter, and many others. We collected a network traffic dataset containing 3,577,296 packet flows with different 87 features for training, validating, and testing the ML models. A web-based user-friendly interface is developed to enable users to either upload a snapshot of their network traffic to NetScrapper or sniff the network traffic directly from the network interface card in real time. Additionally, we created a middleware pipeline for interfacing the three models with the Flask GUI. Finally, we evaluated NetScrapper using various performance metrics such as classification accuracy and prediction time. Most notably, we found that our ANN model achieves an overall classification accuracy of 99.86% in recognizing the online applications in our dataset.<\/jats:p>","DOI":"10.3390\/a14080250","type":"journal-article","created":{"date-parts":[[2021,8,22]],"date-time":"2021-08-22T21:42:12Z","timestamp":1629668532000},"page":"250","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":35,"title":["A Real-Time Network Traffic Classifier for Online Applications Using Machine Learning"],"prefix":"10.3390","volume":"14","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-9736-5353","authenticated-orcid":false,"given":"Ahmed Abdelmoamen","family":"Ahmed","sequence":"first","affiliation":[{"name":"Department of Computer Science, Prairie View A&M University, Prairie View, TX 77446, USA"}]},{"given":"Gbenga","family":"Agunsoye","sequence":"additional","affiliation":[{"name":"Department of Computer Science, Prairie View A&M University, Prairie View, TX 77446, USA"}]}],"member":"1968","published-online":{"date-parts":[[2021,8,21]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","unstructured":"Rezaei, S., and Liu, X. (2020, January 3\u20136). Multitask learning for network traffic classification. Proceedings of the International Conference on Computer Communications and Networks (ICCCN), Honolulu, HI, USA.","DOI":"10.1109\/ICCCN49398.2020.9209652"},{"key":"ref_2","doi-asserted-by":"crossref","first-page":"1999","DOI":"10.1007\/s00500-019-04030-2","article-title":"Deep packet: A novel approach for encrypted traffic classification using deep learning","volume":"24","author":"Lotfollahi","year":"2020","journal-title":"Soft Comput. Springer Link"},{"key":"ref_3","first-page":"42","article-title":"Network traffic classifier with convolutional and recurrent neural networks for internet of things","volume":"5","author":"Carro","year":"2017","journal-title":"IEEE Access"},{"key":"ref_4","first-page":"137","article-title":"On securing atomic operations in multicast aodv","volume":"28","author":"Moamen","year":"2015","journal-title":"Ad-Hoc Sens. Wirel. Netw."},{"key":"ref_5","first-page":"182","article-title":"Deep-Full-Range: A deep learning based network encrypted traffic classification and intrusion detection framework","volume":"7","author":"Zeng","year":"2019","journal-title":"IEEE Access"},{"key":"ref_6","doi-asserted-by":"crossref","unstructured":"Mo\u1e3fen, A.M.A., Hamza, H.S., and Saroit, I.A. (2010, January 19\u201321). A survey on security enhanced multicast routing protocols in mobile ad hoc networks. Proceedings of the IEEE International Symposium on High-capacity Optical Networks and Enabling Technologies, Cairo, Egypt.","DOI":"10.1109\/HONET.2010.5715786"},{"key":"ref_7","doi-asserted-by":"crossref","first-page":"662","DOI":"10.1109\/TNSM.2020.3025131","article-title":"Predicting network flow characteristics using deep learning and real-world network traffic","volume":"17","author":"Hardegen","year":"2020","journal-title":"IEEE Trans. Netw. Serv. Manag."},{"key":"ref_8","doi-asserted-by":"crossref","first-page":"2808","DOI":"10.1002\/dac.2508","article-title":"Secure multicast routing protocols in mobile ad-hoc networks","volume":"27","author":"Moamen","year":"2014","journal-title":"Int. J. Commun. Syst."},{"key":"ref_9","unstructured":"(2021, July 09). Flask Framework: A Web-Based Framework Written in Python. Available online: https:\/\/flask.palletsprojects.com\/en\/1.1.x\/."},{"key":"ref_10","doi-asserted-by":"crossref","first-page":"557","DOI":"10.1016\/j.comnet.2020.107557","article-title":"Online classification of user activities using machine learning on network traffic","volume":"181","author":"Labayen","year":"2020","journal-title":"Comput. Netw."},{"key":"ref_11","first-page":"216","article-title":"Application-based online traffic classification with deep learning models on sdn networks","volume":"5","author":"Chang","year":"2020","journal-title":"Adv. Technol. Innov."},{"key":"ref_12","unstructured":"(2021, July 09). Cicflowmeter: An Open Source Traffic Flow Generator. Available online: https:\/\/github.com\/ahlashkari\/CICFlowMeter."},{"key":"ref_13","unstructured":"(2021, July 09). Kaggle. Available online: https:\/\/www.kaggle.com\/jsrojas\/labeled-network-traffic-flows-114-applications."},{"key":"ref_14","unstructured":"(2021, July 09). Wireshark: A Network Protocol Analyzer. Available online: https:\/\/www.wireshark.org\/."},{"key":"ref_15","unstructured":"(2021, July 09). Scapy: A Packet Manipulation Tool for Computer Networks. Available online: https:\/\/scapy.net\/."},{"key":"ref_16","unstructured":"(2021, July 09). Keras: A Python Deep Learning Api. Available online: https:\/\/keras.io\/."},{"key":"ref_17","unstructured":"(2021, July 09). Tensorflow: A Machine Learning Platform. Available online: https:\/\/www.tensorflow.org\/."},{"key":"ref_18","unstructured":"(2021, July 09). SRT: Secure Reliable Transport Protocol. Available online: https:\/\/github.com\/Haivision\/srt."},{"key":"ref_19","doi-asserted-by":"crossref","unstructured":"Agha, G. (1986). Actors: A Model of Concurrent Computation in Distributed Systems, MIT Press.","DOI":"10.7551\/mitpress\/1086.001.0001"},{"key":"ref_20","doi-asserted-by":"crossref","unstructured":"Mo\u1e3fen, A.M.A., Hamza, H.S., and Saroit, I.A. (2010, January 19\u201321). New attacks and efficient countermeasures for multicast aodv. Proceedings of the 7th International Symposium on High-capacity Optical Networks and Enabling Technologies, Cairo, Egypt.","DOI":"10.1109\/HONET.2010.5715791"},{"key":"ref_21","doi-asserted-by":"crossref","unstructured":"Moamen, A.A., and Nadeem, J. (2015). ModeSens: An approach for multi-modal mobile sensing. Companion, Proceedings of the 2015 ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity, Pittsburgh, PA, USA, 25\u201330 October 2015, ACM.","DOI":"10.1145\/2814189.2817271"},{"key":"ref_22","doi-asserted-by":"crossref","unstructured":"Abdelmoamen, A. (2018, January 2\u20137). A modular approach to programming multi-modal sensing applications. Proceedings of the IEEE International Conference on Cognitive Computing, Series ICCC \u201918, San Francisco, CA, USA.","DOI":"10.1109\/ICCC.2018.00021"},{"key":"ref_23","unstructured":"Moamen, A.A., and Jamali, N. (July, January 27). Coordinating crowd-sourced services. Proceedings of the IEEE the Mobile Services Conference, Anchorage, AK, USA."},{"key":"ref_24","first-page":"43","article-title":"An actor-based approach to coordinating crowd-sourced services","volume":"2","author":"Moamen","year":"2014","journal-title":"Int. J. Serv. Comput."},{"key":"ref_25","doi-asserted-by":"crossref","unstructured":"Moamen, A.A., and Jamali, N. (2015, January 12\u201313). CSSWare: A middleware for scalable mobile crowd-sourced services. Proceedings of the MobiCASE, Berlin, Germany.","DOI":"10.1007\/978-3-319-29003-4_11"},{"key":"ref_26","doi-asserted-by":"crossref","unstructured":"Moamen, A.A., and Jamali, N. (2016\u20134, January 30). Supporting resource bounded multitenancy in akka. Proceedings of the ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity (SPLASH Companion 2016), Amsterdam, The Netherlands.","DOI":"10.1145\/2984043.2989219"},{"key":"ref_27","doi-asserted-by":"crossref","unstructured":"Moamen, A.A., Wang, D., and Jamali, N. (2017, January 5\u20138). Supporting resource control for actor systems in akka. Proceedings of the International Conference on Distributed Computing Systems (ICDCS 2017), Atlanta, GA, USA.","DOI":"10.1109\/ICDCS.2017.291"},{"key":"ref_28","doi-asserted-by":"crossref","unstructured":"Abdelmoamen, A., Wang, D., and Jamali, N. (2018, January 25). Approaching actor-level resource control for akka. Proceedings of the IEEE Workshop on Job Scheduling Strategies for Parallel Processing, Vancouver, BC, Canada.","DOI":"10.1007\/978-3-030-10632-4_7"},{"key":"ref_29","doi-asserted-by":"crossref","unstructured":"Moamen, A.A., and Jamali, N. (July, January 27). ShareSens: An approach to optimizing energy consumption of continuous mobile sensing workloads. Proceedings of the 2015 IEEE International Conference on Mobile Services (MS \u201915), New York, NY, USA.","DOI":"10.1109\/MobServ.2015.22"},{"key":"ref_30","doi-asserted-by":"crossref","first-page":"503","DOI":"10.1109\/TSC.2017.2705685","article-title":"Opportunistic sharing of continuous mobile sensing data for energy and power conservation","volume":"13","author":"Moamen","year":"2020","journal-title":"IEEE Trans. Serv. Comput."},{"key":"ref_31","unstructured":"Moamen, A.A., and Jamali, N. (2015, January 22\u201324). CSSWare: An actor-based middleware for mobile crowd-sourced services. Proceedings of the 2015 EAI International Conference on Mobile and Ubiquitous Systems: Computing, Networking and Services (Mobiquitous \u201915), Coimbra, Portugal."},{"key":"ref_32","doi-asserted-by":"crossref","unstructured":"Ahmed, A.A., Olumide, A., Akinwa, A., and Chouikha, M. (2019, January 12\u201314). Constructing 3d maps for dynamic environments using autonomous uavs. Proceedings of the 2019 EAI International Conference on Mobile and Ubiquitous Systems: Computing, Networking and Services (Mobiquitous \u201919), Houston, TX, USA.","DOI":"10.1145\/3360774.3368200"},{"key":"ref_33","first-page":"1","article-title":"An actor-based middleware for crowd-sourced services","volume":"3","author":"Moamen","year":"2017","journal-title":"Eai Endorsed Trans. Mob. Commun. Appl."},{"key":"ref_34","doi-asserted-by":"crossref","unstructured":"Abdelmoamen, A., and Jamali, N. (2018, January 2\u20137). A model for representing mobile distributed sensing-based services. Proceedings of the IEEE International Conference on Services Computing, Ser. SCC \u201918, San Francisco, CA, USA.","DOI":"10.1109\/SCC.2018.00049"},{"key":"ref_35","unstructured":"Ahmed, A.A. (2019, January 26\u201329). A model and middleware for composable iot services. Proceedings of the International Conference on Internet Computing & IoT, Ser. ICOMP \u201919, Las Vegas, NV, USA."},{"key":"ref_36","unstructured":"Ahmed, A.A., and Eze, T. (2019, January 27\u201330). An actor-based runtime environment for heterogeneous distributed computing. Proceedings of the International Conference on Parallel & Distributed Processing, Ser. PDPTA \u201919, Las Vegas, NV, USA."},{"key":"ref_37","first-page":"1","article-title":"A distributed system for supporting smart irrigation using iot technology","volume":"3","author":"Ahmed","year":"2020","journal-title":"Eng. Rep."},{"key":"ref_38","doi-asserted-by":"crossref","unstructured":"Ahmed, A.A. (2021). A privacy-preserving mobile location-based advertising system for small businesses. Eng. Rep., e12416.","DOI":"10.1002\/eng2.12416"},{"key":"ref_39","doi-asserted-by":"crossref","first-page":"63283","DOI":"10.1109\/ACCESS.2021.3074319","article-title":"Hawk-eye: An ai-powered threat detector for intelligent surveillance cameras","volume":"9","author":"Ahmed","year":"2021","journal-title":"IEEE Access"},{"key":"ref_40","doi-asserted-by":"crossref","first-page":"478","DOI":"10.3390\/agriengineering3030032","article-title":"A mobile-based system for detecting plant leaf diseases using deep learning","volume":"3","author":"Ahmed","year":"2021","journal-title":"AgriEngineering"}],"container-title":["Algorithms"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/1999-4893\/14\/8\/250\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,11]],"date-time":"2025-10-11T06:48:56Z","timestamp":1760165336000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/1999-4893\/14\/8\/250"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,8,21]]},"references-count":40,"journal-issue":{"issue":"8","published-online":{"date-parts":[[2021,8]]}},"alternative-id":["a14080250"],"URL":"https:\/\/doi.org\/10.3390\/a14080250","relation":{},"ISSN":["1999-4893"],"issn-type":[{"value":"1999-4893","type":"electronic"}],"subject":[],"published":{"date-parts":[[2021,8,21]]}}}