
Follow the course in order to maintain a coherent learning path, code along with each video, and build Python skills with the libraries and tools used for network applications.
Planning Your Next Career Move? Join My Community for Tech Career Opportunities!
Explore Python fundamentals and Jupyter Notebook basics, writing and running code in cells, debugging with print outputs, and using libraries for simple data operations and visualization.
Review how mastering core Python concepts, including variables, strings, lists, dictionaries, conditionals, loops, try-except blocks, functions, modules, and file operations, supports automating network vulnerability scanning with Python and Nmap.
Define Python variables, inspect basic data types such as strings, integers, floats, and booleans, and learn which reserved keywords you must avoid as identifiers.
Learn to create and manipulate Python strings using methods like lower, upper, strip, replace, and split, and master zero-based indexing, slicing, and multi-line strings.
Explore Python lists by creating and indexing elements, slicing sequences, and mutating lists. Apply methods like append, insert, remove, extend, pop, and sort to automate network tasks and data analysis.
Explore Python sets, unordered collections of unique elements, and learn to test membership, remove duplicates, and perform unions, intersections, differences, and symmetric differences in networking contexts.
explore Python tuples as immutable sequences that mix data types; learn indexing and slicing, including negative indexes and steps, and use count, index, concatenation, and repetition.
Explore Python ranges and range operations, learn start, stop, and step, see how to convert ranges to lists, and apply them in loops and automation with examples like port ranges.
Explore Python dictionaries as key value maps for network data, creating and accessing entries. Update and remove items with del or pop, and inspect keys, values, and nested dictionaries.
Explore Python conditionals with if-elif-else, learn how to evaluate multiple conditions using and, manage indentation, and nest conditionals to build dynamic scripts for monitoring network configurations.
Learn how to use for loops to iterate over lists, strings, and ports, nested loops and for-else behavior. Use Python examples with f-strings and simple conditionals to automate network tasks.
Master Python while loops to repeat code while a condition remains true. Explore while else, nested loops, and practical examples like network monitoring to automate repetitive tasks.
Learn how to use list, set, and dictionary comprehensions in Python, with conditions, nesting, and practical tricks like swapping dictionary keys and values.
Master break, continue, and pass in Python to control loop flow, exiting, skipping iterations, and providing no-ops or placeholders for networking automation scripts.
Learn Python error handling with try, except, else, and finally to manage syntax errors and exceptions, with examples like value errors and zero division.
Learn how to manage Python namespaces and the global keyword, and organize code with modules using imports, aliases, and built-in libraries like math, datetime, random, and NumPy.
Learn to perform file operations with python by creating, editing, reading, writing, and appending to files using open, read, write, and the with statement, using sample.txt and print contents.
Learn the basics of regular expressions in Python using the re module to search, match, and extract information from text, with practical examples and concepts.
Explore additional Python concepts needed for developing applications, including print customization with sep and end, operator precedence, compound operators, and bitwise operations used in subnet calculations.
Leverage map, filter, reduce, and lambda in Python to transform lists, filter even numbers, and cumulatively reduce values for automation tasks.
Harness Python's zip function to pair lists, iterate over devices and IPs, and unzip data for clearer, more readable network automation scripts.
Explore how pandas enables data analysis and visualization by creating a data frame from a dictionary, importing pandas as pd, and performing add, update, delete, indexing and slicing operations.
Master intermediate to advanced pandas operations to analyze network traffic logs, using filtering, grouping, merging, handling missing data, sorting, and applying custom traffic classifications.
Learn to read, manipulate, and save CSV data with pandas, including delimiters, selecting columns, appending data, and processing large files in chunks.
Explore data visualization with pandas and matplotlib by loading network traffic data and creating line plots, bar charts, histograms, and scatter plots with subplots and day of week.
Develop a Python-based network vulnerability scanning app using Nmap and NSE scripts to map devices, identify open ports and exploits, and email a plotted vulnerability map and report.
Install essential libraries for the app by upgrading python-nmap with pip, note that pandas is already installed, and plan to install scikit-learn next, while most modules on Kali are built-in.
Install and configure three Ubuntu virtual machines in VirtualBox, including downloading Ubuntu 22.04, installing and updating the system, adding net-tools and vim, and cloning for Kali Linux-based vulnerability scanning.
Configure several Ubuntu hosts by enabling MySQL, PostgreSQL, Redis, vsftpd, and Samba, adjust listen addresses to 0.0.0.0, restart services, and verify with netstat.
Prepare Ubuntu host 2 by installing and enabling ssh and ldap servers, configuring vnc, and verifying ports 22, 5902, 6002, and 3089.
Prepare host 3 by installing Postfix and Nginx on Ubuntu, exposing ports 25 and 80, and configuring three virtual machines as targets for Kali Linux vulnerability scanning.
Configure three virtual machines with host-only adapters to create an isolated local area network, then verify each VM has a 192.168.56.x address for safe scans and brute-force tests.
Recognize the legal risks of network scanning, traffic capture, and brute force attacks, and ensure you only scan networks you own or are authorized to test with Nmap in mind.
Explore nmap scanning on Kali Linux for network discovery and security auditing of Ubuntu targets, using verbose, tcp syn scans, os and version detection, script scanning, and saving outputs.
Discover the nmap scripting engine (NSE) to automate tasks, detect vulnerabilities, and gather information with built-in and custom scripts, including banner, smb, vuln, vulnus, and http brute, plus script arguments.
Define initial variables and actions to build a python nmap port scanner in vscode, scan a local subnet for hosts, and organize results with a pandas dataframe.
Explore parsing per-host scan results with Python-nmap, enumerate all hosts, and perform detailed -sV scans using a vulnerability script to collect open ports and exploits.
Extract the number of exploits from nmap python results by traversing nested dictionaries, counting script vulnerabilities per open port, and using try/except to handle missing data.
Explore how to automate brute-force attacks on open ports using a port-to-script mapping with nmap scripts, passing a credentials file to test valid logins and record results.
Organize scan results into a list of per-host dictionaries, build a dataframe, save to CSV, and print a colored, readable summary showing IP, open ports, exploitable vulnerabilities, and brute-force results.
We plot a scatter graph of hosts showing exploitable vulnerabilities and brute force attacks, color-coded by vulnerability scale, with IP annotations and a final vulnerability plot saved as an image.
Configure and send vulnerability data by email from a Python app, using two-factor authentication and app passwords, attaching an Excel file and a matplotlib plot via Gmail smtp.
Recap the full application flow: initialize nmap port scanner, enumerate hosts, build a pandas dataframe, run brute force scripts on open ports, generate CSV, tree output, and email reports.
Test the application on the network by running an nmap scan across three Ubuntu hosts, perform port brute-force checks, and review the network scan plot and reports delivered by email.
Test the application on an extended network of six virtual machines, run nmap scans revealing exploitable vulnerabilities and brute-force successes, generate png, csv, and excel reports, and email alerts.
Automate the network vulnerability scan daily at 4 a.m. by configuring a cron job with crontab, generating a report, and emailing it automatically.
Receive Udemy email updates on course changes and code upgrades in GitHub, access instructor support via the Q&A, and expect more project-based courses in the future.
Audience: Network Engineers
Level: Beginner to Advanced
Last update: January 2026
What's this course all about?
Recruiters want results. Managers, too. They value builders and doers - not just theoreticians.
Show them your own hands-on network vulnerability scanning project, built using the following tools and technologies:
Python
Pandas
Nmap
VS Code
Jupyter
Ubuntu
Kali Linux
VirtualBox
Arista EOS
During this course, you'll build a network vulnerability scanner that is able to scan the devices on the local network, detect all the open ports, learn what services can be exploited, brute-force some of these services, provide a short summary report, and generate a visual representation of the vulnerable hosts.
We're going to build the project together from the ground up, step-by-step
You will install, execute, code, and also troubleshoot everything alongside me
By the end, you’ll have a vulnerability scanning lab that you can actually use in the real world for:
Becoming a better Network Engineer who's also security-focused
Showcasing a strong project to companies, recruiters, and peers
Detecting vulnerable hosts and services on your local network
This project is a perfect fit if you're looking to showcase your skills as a:
Network Engineer, Network Admin, Network Analyst
Network Automation Engineer or QA Engineer
CCNA or CCNP-certified professional
Important information before you enroll:
30-day money-back guarantee - no questions asked
Unlimited, lifetime access to the course from any device
All the future course and code updates are included
Full instructor support for all course-related questions
A Certificate of Completion upon finishing the course
What others have to say about my courses?
"What an incredible value and learning experience!" by Sean A.
"The instructor is an excellent professional, skillful and engaging." by Georgios T.
"Excellent material. Kudos to a great instructor with a vast level of creativity." by Anthony W.
"I can say this man is going on smoothly and perfectly, explaining in the most empirical way." by Kolapo A.
"Very thorough course. Includes plenty of details and examples without being boring. Explanations are given at a very practical level." by Gary S.
"As a Python beginner, I find this course is concise, easy to understand and structured. Also, Mihai responses to my question during the course promptly. I highly recommend this training course." by Johnny W.
"The instructor seems to touch all the basis in a logical and methodical way while providing examples and explanations. I can only conclude the instructor is a professional educator who spent considerable time structuring and organizing the course." by Larry L.
"I've tried learning from the books & multiple videos - most were too basic to make a practical app. Some books were too thick and made me sleep. But still none of the materials had the perfect balance like this course where all the basics were covered, instructions were concise, and Mihai walks you step by step." by Joon P.
"Usually I'm not doing courses review but this time I will make an exception. During time I took a lot of trainings but very few provided by Udemy proved as having the right approach in teaching the audience. I will mark this one as being one of my personal top three best trainings as content's quality, technical explanations, and additional learning materials perspective." by Johnny S.
"This is a great course for network engineers who would like to start automating their tasks. Geared towards beginners, this course teaches the fundamentals and applying those concepts to networking. There is a lot of fluff on the internet, however the instructor managed to put together the necessary information to start automating the network." by Costin N.
"I've seen the blueprint and some demo videos and I was convinced right away. Without a doubt, it's one of the best trainings a network engineer can have. It gives you actual valuable and marketable skills that you can use in your daily job. Mihai explains the topics really well, with practical examples making it a fun way to learn. Highly recommended." by Vlad V.
Some of my instructor stats on Udemy:
Teaching automation here since May 2015.
Over 110,000 students from 185 countries.
Over 12,800 reviews, 4.5/5 average rating.
Time is ticking - don’t waste it! Start building.
Enroll now, and I'll see you in the first lecture.