The purpose of this project is to deliver lab practice to help students enrolled in Information Systems Security and Network Communication departments. It will give them a hands-on experience of utilizing Python in order to detect malicious ARP reply packets on the network which is maybe the most widely-used, effective and dangerous local network specific attack. The main audience of this project is students of Network Communication and Information Systems Security programs. By their continuous request to having such course and lab practices in better understanding of Network Security, ARP Replies, ARP Spoofing/Poisoning and Man-In-The-Middle, and utilizing Python as a tool to build their own monitoring and control tools, or improve on and contribute to other people’s projects. The need from a traditional Network Security Engineer is shifting. In the era of mobility and cloud computing, businesses are demanding more agile approach to their networks and IT. The industry has responded to this need for agility with programming languages acting together with networks. In world of networking, knowledge of a person is scaled by how comfortable that person is with popular networking vendors e.g. Cisco, Palo Alto, Checkpoint, Juniper, Fortinet and etc. Yet companies don’t look for someone who is proficient in all of them, but in one with programming skills. Let me explain why: 1. Cost – Each company usually uses one of these brands so they do not want to pay extra money for skills they do not benefit form.2. Efficiency – Today everything in networking industry is changing very fast. The size of our networks and equipment used in them are insanely increasing. It’s impossible to keep up with the changes if we still consider configuration at very low-level box by box setup. We have to come up with techniques to enable us in bulk device configuration/automation, this is only achievable with a programming language. 3. Intelligence – Our networks need to be smarter. They should learn things and change behavior in different situations. We can do this through programming languages. 4. More Good Stuff – Majority of networking vendors now support API (Application Programming Interface). API enables us to interact with devices through any programming language, hence it gives us a new wide range of capabilities we did not had before. Of course this project was a great opportunity for me to dive deep and figure out if idea behind this project adds a value or not. I was astonished by the result and will continue learning, maybe I will choose it as my future career. To answer why we preferred Python as programming language in this project; every language which gives possibility to implement automation and security mechanisms is acceptable. There many languages that can serve this purpose; Bash, Ruby, Java. We chose Python because it is well-known among the information security community, also it has a huge documentation library and community who are ready to help. Moreover, Python has a massive library of modules. Modules are python files with .py extension which contains prebuilt classes and functions Python user can import to save a lot of time and money.