This was a course project at Dartmouth College for COSC 74 (Machine Learning) and MATH 60 (Probability Honors Section). Data and data-loading code from https://github.com/harvardnlp/botnet-detection
Please check the Jupyter notebook file to see the file processing done, machine learning algorithms used, and results. The paper sums it up in a formal academic way, but I bet most people would rather just see the code and comments :)
A botnet is a collection of compromised computers being controlled by an adversary, which can be used to send massive amounts of spam to take down a victim (this is a DOS attack, a Denial-of-Service attack). As the number of electronic devices grows, botnets are growing larger than ever, and are capable of dealing a lot of damage to targets. They are currently a major source of network attacks. As we are becoming more and more reliant on the Internet and technology, the taking down of certain technology or services would not only inconvenience many, but it could affect other people’s lives. It is therefore crucial that botnets are detected in order to stop them from growing and attacking others.